IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Livres en français

42 livres et 52 critiques, dernière mise à jour le 12 novembre 2023 , note moyenne : 4.3

  1. 20 énigmes ludiques pour se perfectionner en cryptographie
  2. 15 énigmes ludiques pour se perfectionner en programmation Python
  3. Conception d'algorithmes - 150 exercices corrigés
  4. Automates à états finis et langages réguliers - Rappels des notions essentielles et plus de 170 exercices corrigés
  5. Programmation par contraintes - Démarches de modélisation pour l'optimisation
  6. Graphes, ordres et programmation linéaire - Cours et exercices
  7. Conception d'algorithmes - Principes et 150 exercices corrigés
  8. Data science - Cours et exercices
  9. Apprentissage artificiel - Deep learning, concepts et algorithmes
  10. Deep Learning avec TensorFlow - Mise en oeuvre et cas concrets
  11. Machine Learning avec Scikit-Learn - Mise en oeuvre et cas concrets
  12. Big Data et Machine Learning - Les concepts et les outils de la data science
  13. Data Scientist et langage R - Guide d'autoformation à l'exploitation des Big Data
  14. L'Intelligence Artificielle pour les développeurs - Concepts et implémentations en Java
  15. Recherche d'information - Applications, modèles et algorithmes — data mining, décisionnel et big data
  16. Apprentissage machine - De la théorie à la pratique - Concepts fondamentaux en Machine Learning
  17. Pratique du calcul relationnel
  18. Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique
  19. Métaheuristiques
  20. Recherche d'information - Applications, modèles et algorithmes
  21. Apprentissage artificiel - Concepts et algorithmes
  22. Algorithmique - Cours avec 957 exercices et 158 problèmes
  23. Intelligence artificielle
  24. Introduction à la cryptographie
  25. Introduction à l'algorithmique - 2e cycle - Ecoles d'ingénieurs
  26. Algorithmes de graphes
  27. Réseaux de neurones - Méthodologie et applications
  28. Réseaux bayesiens
  29. Simulation numérique en C++
  30. Compilateurs - Cours et exercices corrigés
  31. Programmation et Algorithmique en VBA pour Excel
  32. Introduction à la calculabilité
  33. Intelligence Artificielle
  34. Géométrie algorithmique
  35. Apprentissage statistique - Réseaux de neurones - Cartes topologiques - Machines à vecteurs supports
  36. Calculateurs, calculs, calculabilité
  37. Apprendre à programmer - Algorithmes et conception objet
  38. Algorithmique - Techniques fondamentales de programmation
  39. Algorithmique - Travaux Pratiques - Entraînez-vous et améliorez votre pratique de la programmation
  40. Compilateurs - Principes, techniques et outils
  41. L'Intelligence Artificielle pour les développeurs - Concepts et implémentations en C#
  42. Algorithmique - Coffret de 2 livres : Maîtrisez les fondamentaux de la programmation (avec des exemples en Java)
couverture du livre 20 énigmes ludiques pour se perfectionner en cryptographie

Note 5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

20 énigmes ludiques pour se perfectionner en cryptographie

de
Public visé : Débutant

Résumé de l'éditeur

Que vous soyez passionnés ou amateurs de défis, ces 20 énigmes à résoudre vous permettent de découvrir de nouveaux concepts-clés en cryptographie.

La difficulté des énigmes est indiquée par un système d’étoiles. Si vous avez besoin d’un (ou de plusieurs) coup(s) de pouce, trois indices vous mettront progressivement sur la voie de la solution. À la fin du livre, une explication détaillée vous donnera la clé de chaque énigme.

En complément de ces 20 énigmes, de très nombreux encadrés vous présentent les techniques qui se cachent derrière les codes secrets les plus célèbres et les personnages historiques qui les ont créés ou les ont « cassés ».

Édition : Dunod - 224 pages, 1re édition, 25 octobre 2023

ISBN10 : 2100855115 - ISBN13 : 9782100855117

Commandez sur www.amazon.fr :

16.90 € TTC (prix éditeur 16.90 € TTC)
Les énigmes à résoudre
Les indices en cas de besoin
Les solutions
Critique du livre par la rédaction Thibaut Cuvelier le 12 novembre 2023


La cryptographie est un domaine où les introductions sont souvent ardues et rébarbatives, car les bases mathématiques nécessaires sont assez évoluées. Cet ouvrage, au contraire, fait découvrir les principes fondamentaux de la cryptographie et de la cryptanalyse moderne à travers des énigmes ludiques avec un niveau de difficulté raisonnable — la plupart des énigmes sont accessibles aux étudiants du secondaire s'ils ont de bonnes bases en mathématiques.

Le niveau des énigmes monte progressivement. Les premières s'intéressent aux attaques statistiques sur la cryptographie de l'antiquité, mais très vite les auteurs s'attaquent à la cryptographie moderne. L'ouvrage est très intéressant dans le sens où il ne se limite pas à des énigmes et à des solutions très détaillées, il propose aussi un point de vue historique sur les méthodes de cryptographie ou le contexte d'attaques.

Les indices sont proposés en trois niveaux, en apportant de plus en plus d'informations sur une solution possible au problème. Les énigmes sont, en majorité, conçues de telle sorte qu'elles peuvent être résolues sans ordinateur.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 12/11/2023 à 1:10
20 énigmes ludiques pour se perfectionner en cryptographie
Que vous soyez passionnés ou amateurs de défis, ces 20 énigmes à résoudre vous permettent de découvrir de nouveaux concepts-clés en cryptographie.

La difficulté des énigmes est indiquée par un système d’étoiles. Si vous avez besoin d’un (ou de plusieurs) coup(s) de pouce, trois indices vous mettront progressivement sur la voie de la solution. À la fin du livre, une explication détaillée vous donnera la clé de chaque énigme.

En complément de ces 20 énigmes, de très nombreux encadrés vous présentent les techniques qui se cachent derrière les codes secrets les plus célèbres et les personnages historiques qui les ont créés ou les ont « cassés ».

[Lire la suite]




 
couverture du livre 15 énigmes ludiques pour se perfectionner en programmation Python

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

15 énigmes ludiques pour se perfectionner en programmation Python

de
Public visé : Débutant

Résumé de l'éditeur

Que vous soyez passionnés ou amateurs de défis, ces 15 énigmes à résoudre vous permettront de découvrir de nouveaux concepts-clés en informatique.

La difficulté des énigmes est indiquée par un système d’étoiles. En cas de besoin d’un (ou de plusieurs) coup(s) de pouce, trois indices vous mettront progressivement sur la voie de la solution. À la fin du livre, une explication détaillée vous donnera la clé de chaque énigme.

En complément de ces 15 énigmes, de très nombreux encadrés vous présentent les personnages célèbres et les connaissances historiques et techniques du monde de l’informatique.

Édition : Dunod - 240 pages, 1re édition, 25 octobre 2023

ISBN10 : 2100855085 - ISBN13 : 9782100855087

Commandez sur www.amazon.fr :

16.90 € TTC (prix éditeur 16.90 € TTC)
Les énigmes à résoudre
Les indices en cas de besoin
Les solutions
Critique du livre par la rédaction Thibaut Cuvelier le 11 novembre 2023


Pour débuter en informatique, certains préfèrent une approche à base d'énigmes : des problèmes qui ont l'air difficiles, mais que l'on peut résoudre de manière relativement aisée avec des outils informatiques. Cet ouvrage vise ainsi des étudiants en fin de cycle d'études secondaires à orientation scientifique qui savent déjà un peu programmer. Il commence par une petite introduction à la syntaxe de Python avant de partir sur une série de quinze énigmes, de plus en plus difficiles. Au besoin, les énigmes, les indices ou les solutions apportent quelques suppléments dans le langage.

La première énigme est assez facile (le jeu de la vie), mais les dernières deviennent bien plus intéressantes. Les thèmes abordés sont assez variés, elles ne tournent pas toutes autour de l'informatique : on retrouve aussi des situations plus quotidiennes ou en cryptographie, par exemple. Les auteurs introduisent chaque énigme par un contexte historique, quand cela a du sens, mais celui-ci est surtout expliqué dans les solutions.

Les indices sont proposés en trois niveaux, en apportant de plus en plus d'informations sur une solution possible au problème (principes à mettre en œuvre, structures de données utiles, etc.). Les solutions sont très détaillées et mettent l'accent sur les principes algorithmiques plutôt que sur l'implémentation (considérée plutôt comme un détail). Parfois, le niveau de mathématiques requis pour bien comprendre ces solutions est parfois assez élevé, mais il n'est pas nécessaire pour comprendre l'essence.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 11/11/2023 à 19:04
15 énigmes ludiques pour se perfectionner en programmation Python
Que vous soyez passionnés ou amateurs de défis, ces 15 énigmes à résoudre vous permettront de découvrir de nouveaux concepts-clés en informatique.

La difficulté des énigmes est indiquée par un système d’étoiles. En cas de besoin d’un (ou de plusieurs) coup(s) de pouce, trois indices vous mettront progressivement sur la voie de la solution. À la fin du livre, une explication détaillée vous donnera la clé de chaque énigme.

En complément de ces 15 énigmes, de très nombreux encadrés vous présentent les personnages célèbres et les connaissances historiques et techniques du monde de l’informatique.

[Lire la suite]




 
couverture du livre Conception d'algorithmes

Note 4 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Conception d'algorithmes

150 exercices corrigés

de
Public visé : Intermédiaire

Résumé de l'éditeur

La conception des algorithmes : une science !

L'algorithmique est l'art et la science de concevoir des algorithmes corrects et efficaces. Pour beaucoup d'informaticiens, c'est l'aspect artistique qui prédomine : on cherche l'idée lumineuse, la structure cachée, la réponse astucieuse. Mais la conception des algorithmes est d'abord une science dont il faut posséder les bases et les techniques avant d'exprimer sa créativité.

Ce livre invite le lecteur à une approche rigoureuse de la construction d'algorithmes. Il explique comment la même idée peut se retrouver dans plusieurs algorithmes correspondant à des problèmes différents. Il donne les outils pour analyser rationnellement un problème, le classer dans une famille de méthodes et produire une solution exacte.

Un manuel de référence sur la construction raisonnée des algorithmes

Dans chaque chapitre de ce livre, les bases théoriques et techniques sont rappelées et illustrées par des exemples. On y trouve ensuite un grand nombre d'exercices, accompagnés d'une correction minutieuse et complète. De la sorte, on y voit comment une démarche rationnelle permet d'atteindre une solution, exacte par construction, à travers une grande variété de cas.

Après des rappels sur le raisonnement, les structures de données et la complexité, le livre parcourt les grandes méthodes de construction d'algorithmes : invariants, récursivité, essais successifs, méthodes PSEP, algorithmes gloutons, diviser pour régner, programmation dynamique. Au total, près de 150 exemples d'algorithmes sont ainsi analysés et construits rigoureusement.

Cet ouvrage, pour sa troisième édition, a été entièrement revu et corrigé. Nombre d'exercices ont été remaniés, certains assez largement, en visant une meilleure gradation des difficultés et une argumentation plus complète.

À qui s'adresse ce livre ?

Aux étudiants et enseignants en science informatique
Aux ingénieurs, enseignants-chercheurs, informaticiens et industriels

Édition : Eyrolles - 862 pages, 3e édition, 7 janvier 2021

ISBN10 : 2416001035 - ISBN13 : 9782416001031

Commandez sur www.amazon.fr :

49.00 € TTC (prix éditeur 49.00 € TTC)
Mathématiques et informatiques : notions utiles
Complexité d'un algorithme
Spécification, invariants, itération
Diminuer pour résoudre, récursivité
Essais successifs
PSEP
Algorithmes gloutons
Diviser pour régner
Programmation dynamique
Critique du livre par la rédaction Thibaut Cuvelier le 6 mai 2021
Vaste sujet qu'est la conception d'algorithmes. Peu de gens maîtrisent réellement ce domaine de l'informatique, le prenant pour mystérieux ou obscur. Cet ouvrage offre un tour d'horizon exhaustif des techniques de conception et abreuve le lecteur d'exemples en tout genre, justement pour donner l'habitude de la pensée algorithmique. Les auteurs suivent un schéma commun pour chaque technique présentée : une introduction, un premier exemple détaillé en profondeur, un résumé de la technique (les points essentiels à mettre en œuvre et les conditions d'application) sous la forme d'un patron de conception d'algorithme, puis une série d'exercices (parfois plus de cent pages pour une méthode, corrections comprises !). Cette manière de procéder explicite la manière d'arriver, par un raisonnement rationnel plutôt qu'intuitif, à une solution efficace (sans oublier d'indiquer où la créativité a droit de cité). Les auteurs mettent en avant la rigueur avec laquelle ils ont rédigé le texte — il faut avouer que ce n'étaient pas des paroles en l'air. Cette troisième édition ne dénote pas par rapport à la précédente.

L'ouvrage est principalement constitué d'exercices. Leurs énoncés sont souvent détaillés, de telle sorte qu'on comprenne bien là où les auteurs veulent mener sans devoir regarder la solution. Une manière très efficace d'utiliser le livre est ainsi de réaliser les exercices comme ils sont proposés, en ne vérifiant les solutions qu'à la fin de chaque question. Les exercices proposés sont relativement variés : on n'a pas droit à une pléthore de graphes et quelques autres pour faire bonne figure, mais un mélange plus varié, avec par exemple des jeux. Autant le texte principal n'a pas fortement évolué depuis la deuxième édition, les solutions ont été retravaillées, pour les rendre plus explicites et plus faciles à comprendre.

Toutefois, l'ouvrage n'est pas le plus abordable. Ce n'est pas tellement dû à ses prérequis — les auteurs s'attendent entre autres à un bon bagage en structures de données et en mathématiques —, mais plutôt au niveau de formalisme mathématique utilisé. Ils démontrent, par exemple, que les schémas de preuves habituels sont corrects ; autant dire que chaque algorithme est donné avec son invariant de boucle. Les preuves données dans les corrections sont détaillées, chaque étape du raisonnement étant minutieusement abordée (les auteurs ne sont pas des adeptes du « laissé au lecteur »). Ceci restreint le public ciblé, qui doit avoir une certaine ouverture d'esprit à la beauté mathématique ; inutile cependant d'avoir un parcours mathématique pur pour tirer bénéfice du livre.

Pour ceux qui disposent déjà d'une édition précédente de l'ouvrage, il n'est nul besoin d'acheter la nouvelle. Il n'y a pas eu de changement cosmétique de la mise en page ou en profondeur dans l'approche des auteurs.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 06/05/2021 à 0:12
Conception d'algorithmes
150 exercices corrigés
La conception des algorithmes : une science !

L'algorithmique est l'art et la science de concevoir des algorithmes corrects et efficaces. Pour beaucoup d'informaticiens, c'est l'aspect artistique qui prédomine : on cherche l'idée lumineuse, la structure cachée, la réponse astucieuse. Mais la conception des algorithmes est d'abord une science dont il faut posséder les bases et les techniques avant d'exprimer sa créativité.

Ce livre invite le lecteur à une approche rigoureuse de la construction d'algorithmes. Il explique comment la même idée peut se retrouver dans plusieurs algorithmes correspondant à des problèmes différents. Il donne les outils pour analyser rationnellement un problème, le classer dans une famille de méthodes et produire une solution exacte.

Un manuel de référence sur la construction raisonnée des algorithmes

Dans chaque chapitre de ce livre, les bases théoriques et techniques sont rappelées et illustrées par des exemples. On y trouve ensuite un grand nombre d'exercices, accompagnés d'une correction minutieuse et complète. De la sorte, on y voit comment une démarche rationnelle permet d'atteindre une solution, exacte par construction, à travers une grande variété de cas.

Après des rappels sur le raisonnement, les structures de données et la complexité, le livre parcourt les grandes méthodes de construction d'algorithmes : invariants, récursivité, essais successifs, méthodes PSEP, algorithmes gloutons, diviser pour régner, programmation dynamique. Au total, près de 150 exemples d'algorithmes sont ainsi analysés et construits rigoureusement.

Cet ouvrage, pour sa troisième édition, a été entièrement revu et corrigé. Nombre d'exercices ont été remaniés, certains assez largement, en visant une meilleure gradation des difficultés et une argumentation plus complète.

À qui s'adresse ce livre ?

Aux étudiants et enseignants en science informatique
Aux ingénieurs, enseignants-chercheurs, informaticiens et industriels

[Lire la suite]




 
couverture du livre Automates à états finis et langages réguliers

Note 3.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Automates à états finis et langages réguliers

Rappels des notions essentielles et plus de 170 exercices corrigés

de
Public visé : Débutant

Résumé de l'éditeur

La théorie des langages et des automates est un enseignement incontournable dans tout cursus d’informatique puisqu’on en retrouve des applications dans des domaines aussi divers que la conception des processeurs, la compilation de programmes, la traduction automatique des langues naturelles, l’intelligence artificielle, la bio-informatique, la vérification de programmes embarqués, la cybersécurité…

Cet ouvrage s’adresse aux étudiants de premier cycle universitaire suivant un cursus incluant l’informatique, qu’ils soient étudiants en IUT, en licence ou en classes préparatoires aux grandes écoles.

Chaque chapitre comporte un rappel des notions essentielles du cours, des exercices simples d’application pour l’appropriation des notions, et des exercices plus avancés pour la maîtrise des concepts.

Une solution complète est fournie pour tous les exercices proposés.

Édition : Dunod - 320 pages, 1re édition, 16 juillet 2020

ISBN10 : 210080846X - ISBN13 : 9782100808465

Commandez sur www.amazon.fr :

24.00 € TTC (prix éditeur 24.00 € TTC)
Rappels et notations
Notions préliminaires
Automates déterministes
Opérations sur les automates déterministes
Algorithmes sur les automates déterministes
Minimisation d’automates déterministes
Automates non déterministes
Automates non déterministes avec -transitions
Expressions régulières
Théorème de Kleene
Grammaires
Grammaires régulières
Propriété de l’itération
Démontrer la non-régularité
Critique du livre par la rédaction Thibaut Cuvelier le 9 novembre 2020
L'informatique théorique rebute régulièrement les étudiants, de par son côté abstrait, contrairement à l'informatique en général. Pourtant, ses apports ne peuvent être négligés, comme les expressions régulières, véritable couteau suisse du traitement de chaînes de caractères. Ce livre aborde la notion de langage régulier et sa version algorithmique, les automates finis, en faisant le lien avec les grammaires régulières et, évidemment, les expressions régulières. Les auteurs ne se limitent pas aux applications classiques, l'annexe se charge d'utilisations comme la vérification de protocoles à l'aide des mêmes outils. Le cœur de l'ouvrage est sans conteste la quantité impressionnante d'exercices corrigés.

Les chapitres sont divisés en cinq parties. Les auteurs débutent toujours un nouveau sujet par l'explication, en termes relativement intuitifs, des idées principales, avant de détailler de manière plus formelle les résultats importants. Ensuite viennent les exercices, puis des indices pour aider à la résolution, finalement les solutions proprement dites. Ce découpage permet d'avoir un coup de pouce dans la résolution d'un exercice sans toutefois avoir la solution complète du premier coup. Le texte principal fournit très peu de démonstrations, elles sont en bonne partie laissées en exercice.

Les prérequis sont très limités, mais un bon bagage de mathématiques sera essentiel pour suivre le contenu : le niveau de formalisme est très élevé, le profane trouvera les explications peu digestes. Par exemple, les auteurs rappellent les principales techniques de preuve, définissent les notions de morphisme de groupe (en omettant, notamment, de définir les groupes). La rédaction est sèche, académique, de telle sorte qu'un tel livre s'utilisera probablement plus comme ouvrage de référence pour un cours qu'afin de découvrir le domaine des automates finis.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 09/11/2020 à 21:56
Automates à états finis et langages réguliers
Rappels des notions essentielles et plus de 170 exercices corrigés
La théorie des langages et des automates est un enseignement incontournable dans tout cursus d’informatique puisqu’on en retrouve des applications dans des domaines aussi divers que la conception des processeurs, la compilation de programmes, la traduction automatique des langues naturelles, l’intelligence artificielle, la bio-informatique, la vérification de programmes embarqués, la cybersécurité…

Cet ouvrage s’adresse aux étudiants de premier cycle universitaire suivant un cursus incluant l’informatique, qu’ils soient étudiants en IUT, en licence ou en classes préparatoires aux grandes écoles.

Chaque chapitre comporte un rappel des notions essentielles du cours, des exercices simples d’application pour l’appropriation des notions, et des exercices plus avancés pour la maîtrise des concepts.

Une solution complète est fournie pour tous les exercices proposés.

[Lire la suite]




 
couverture du livre Programmation par contraintes

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Programmation par contraintes

Démarches de modélisation pour l'optimisation

de
Public visé : Intermédiaire

Résumé de l'éditeur

Cet ouvrage est un véritable guide de bonnes pratiques en Programmation par contraintes (PPC). Il développe un ensemble de démarches permettant de proposer des modèles efficaces pour des problèmes d'optimisation complexes.

Les outils et les raisonnements présentés dans le livre s’adressent à un vaste public, d’ingénieurs de chercheurs et d’étudiants.

Les exemples variés analysés sont essentiellement des problèmes d’optimisation de type ordonnancement / transport réalisés avec le solveur Choco. Sont présentées pour chacun une modélisation mathématique et une modélisation PPC. Les codes proposés, et disponibles en téléchargement, ont été réalisés en Java avec l'environnement NetBeans.

Édition : Ellipses - 234 pages, 1re édition, 3 mars 2020

ISBN10 : 2340035856 - ISBN13 : 9782340035850

Commandez sur www.amazon.fr :

31.00 € TTC (prix éditeur 31.00 € TTC)
Notions fondamentales en PPC
Modélisations de problèmes de type VRP
Modélisations de problèmes de type IRP
Modélisations de problèmes de type Job-Shop
Modélisations de problème de type VRP avec synchronisation
Critique du livre par la rédaction Thibaut Cuvelier le 29 mai 2020
En recherche opérationnelle, on dispose souvent d'une quantité phénoménale d'approches pour un même problème. Cependant, la programmation par contraintes ressort trop rarement, notamment parce qu'elle n'est pas bien connue. Ce livre propose d'approfondir les notions de modélisation en programmation par contraintes afin de tirer un maximum des solveurs, mais aussi d'enrober ces modèles dans des techniques plus générales pour résoudre les problèmes les plus complexes (avec, généralement, une perte de garanties sur l'optimalité des solutions).

Le niveau supposé du lecteur est assez avancé, le premier chapitre se contente de rappeler les principes de base d'un solveur de programmation par contraintes et les contraintes de base, c'est-à-dire les éléments absolument requis pour lire la suite de l'ouvrage. Pour en profiter un maximum, il faudra au lecteur de l'expérience en programmation par contraintes (cet ouvrage est conçu comme une suite à De la programmation linéaire à la programmation par contraintes, des mêmes auteurs, qui cherche à apporter cette expérience).

Le contenu est divisé en quatre études de cas, quatre problèmes complexes où des techniques de programmation par contraintes peuvent apporter des réponses intéressantes dans la pratique (qu'il s'agisse de recherche ou de développements industriels). L'approche des auteurs est très pragmatique, ils ont choisi des problèmes qui restent difficiles à l'heure actuelle et qui sont utiles dans l'industrie. Ils ne passent pas leur temps à admirer des constructions mathématiques, ils se permettent même de sortir du cadre des méthodes exactes pour proposer des heuristiques de recherche locale et des métaheuristiques construites sur des modèles de programmation par contraintes.

L'essentiel des études de cas consiste à comparer différentes manières d'aborder un problème, c'est-à-dire différentes manières de le formuler dans le paradigme de la programmation par contraintes. Ils montrent ainsi l'intérêt d'une bonne formulation dans la pratique numérique de l'optimisation à l'aide de la programmation par contraintes. Ils se focalisent sur le solveur Choco, mais les principes utilisés sont valides pour la plupart des solveurs.

Cet ouvrage propose donc une manière intéressante d'approfondir ses connaissances dans le domaine, à l'aide d'exemples intéressants et loin d'être simplistes.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 29/05/2020 à 21:03
Programmation par contraintes
Démarches de modélisation pour l'optimisation
Cet ouvrage est un véritable guide de bonnes pratiques en Programmation par contraintes (PPC). Il développe un ensemble de démarches permettant de proposer des modèles efficaces pour des problèmes d'optimisation complexes.

Les outils et les raisonnements présentés dans le livre s’adressent à un vaste public, d’ingénieurs de chercheurs et d’étudiants.

Les exemples variés analysés sont essentiellement des problèmes d’optimisation de type ordonnancement / transport réalisés avec le solveur Choco. Sont présentées pour chacun une modélisation mathématique et une modélisation PPC. Les codes proposés, et disponibles en téléchargement, ont été réalisés en Java avec l'environnement NetBeans.

[Lire la suite]




 
couverture du livre Graphes, ordres et programmation linéaire

Note 2.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Graphes, ordres et programmation linéaire

Cours et exercices

de
Public visé : Intermédiaire

Résumé de l'éditeur

Ce livre s'adresse avant tout aux étudiants de licence et de master à la recherche d'outils puissants pour la modélisation et la résolution de problèmes concrets.

De nombreux problèmes réels, pris dans la vie quotidienne, relèvent de la recherche opérationnelle ; les graphes et la programmation mathématique en général, et linéaire en particulier, constituent deux éléments indispensables pour la résolution de tels problèmes.

Des exercices avec solution détaillée sont proposés qui permettront au lecteur de mieux comprendre et maîtriser le contenu de cet ouvrage.

Édition : Ellipses - 216 pages, 1re édition, 17 mars 2020

ISBN10 : 2340036704 - ISBN13 : 9782340036703

Commandez sur www.amazon.fr :

26.00 € TTC (prix éditeur 26.00 € TTC)
Graphes
Cycles et cocycles
Arbres et arborescences
Couplage et transversal
Flots et problème du flot maximum
Nombre de stabilité
Stabilité dans les graphes orientés
Orientation dans les graphes
Complexité algorithmique
Ordres dans les graphes
Programmation linéaire
Critique du livre par la rédaction Thibaut Cuvelier le 26 mai 2020
La théorie des graphes est un outil extrêmement important en informatique et en mathématiques, mais elle ressemble assez peu aux autres parties des mathématiques généralement étudiées dans les concepts et techniques mis en œuvre. C'est pourquoi le sujet fait régulièrement l'objet de livres introductifs. Cependant, cet ouvrage risque de ne pas réconcilier grand monde avec ce domaine des mathématiques discrètes.

À la lecture, on profite d'un style de rédaction très sec, avec des successions de définitions, de théorèmes et lemmes, de preuves, d'algorithmes, mais peu d'exemples ou d'intuition. Les éléments sont donnés les uns à la suite des autres sans expliciter les liens qui existent entre eux ou les applications potentielles. Les symboles sont très souvent définis uniquement de manière mathématique, sans interprétation plus facile à comprendre. Les sujets sont abordés sans grande cohérence (le premier chapitre passe rapidement de définitions de base aux notions de nombre chromatique ou d'isomorphisme…). Les illustrations sont réalisées avec un certain amateurisme, avec des flèches dessinées à la main ou des symboles importants manquants.

L'auteur apporte néanmoins un éclairage sur la théorie des ordres du point de vue des graphes, chose que l'on ne voit pas régulièrement. Par contre, on se demande ce que vient faire la programmation linéaire ici, vu qu'elle est abordée de manière décorrélée par rapport aux graphes : on ne voit même pas de formulation linéaire de problèmes dans des graphes, ne fût-ce qu'un flot maximal, alors que les applications des graphes en programmation linéaire ne manquent pas. Le chapitre sur la complexité algorithmique tombe aussi comme un cheveu dans la soupe, sans véritable lien avec le reste de l'ouvrage ; c'est vraiment dommage, au vu des développements algorithmiques dans les graphes.

Les exercices sont nombreux et la très grande majorité est corrigée en détail, c'est sûrement le point fort de l'ouvrage. Ils recouvrent bien la matière traitée. On peut regretter qu'ils ne fassent pas plus le lien avec les applications concrètes de la théorie des graphes ou de la programmation linéaire.

On a ici affaire à un support de cours, sûrement utile lorsque l'enseignant le suit de près. Par contre, j'aurais du mal à conseiller ce livre dans d'autres cas de figure.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 27/05/2020 à 20:56
Graphes, ordres et programmation linéaire
Cours et exercices
Ce livre s'adresse avant tout aux étudiants de licence et de master à la recherche d'outils puissants pour la modélisation et la résolution de problèmes concrets.

De nombreux problèmes réels, pris dans la vie quotidienne, relèvent de la recherche opérationnelle ; les graphes et la programmation mathématique en général, et linéaire en particulier, constituent deux éléments indispensables pour la résolution de tels problèmes.

Des exercices avec solution détaillée sont proposés qui permettront au lecteur de mieux comprendre et maîtriser le contenu de cet ouvrage.

[Lire la suite]




 
couverture du livre Conception d'algorithmes

Note 4 drapeau
Détails du livre
Sommaire
Critiques (1)
1 commentaire
 
 

Conception d'algorithmes

Principes et 150 exercices corrigés

de
Public visé : Intermédiaire

Résumé de l'éditeur

La conception des algorithmes : une science !

L'algorithmique est l'art et la science de concevoir des algorithmes corrects et efficaces. Pour beaucoup d'informaticiens, c'est l'aspect artistique qui prédomine : on cherche l'idée lumineuse, la structure cachée, la réponse astucieuse. Mais la conception des algorithmes est d'abord une science dont il faut posséder les bases et les techniques avant d'exprimer sa créativité. Ce livre invite le lecteur à une approche rigoureuse de la construction d'algorithmes. Il explique comment la même idée peut se retrouver dans plusieurs algorithmes correspondant à des problèmes différents. Il donne les outils pour analyser rationnellement un problème, le classer dans une famille de méthodes et produire une solution exacte.
Un manuel de référence sur la construction raisonnée des algorithmes

Dans chaque chapitre de ce livre, les bases théoriques et techniques sont rappelées et illustrées par des exemples. On y trouve ensuite un grand nombre d'exercices, accompagnés d'une correction minutieuse et complète. De la sorte, on y voit comment une démarche rationnelle permet d'atteindre une solution, exacte par construction, à travers une grande variété de cas. Après des rappels sur le raisonnement, les structures de données et la complexité, le livre parcourt les grandes méthodes de construction d'algorithmes : invariants, récursivité, essais successifs, méthodes PSEP, algorithmes gloutons, diviser pour régner, programmation dynamique. Au total, près de 150 exemples d'algorithmes sont ainsi analysés et construits rigoureusement.

Cet ouvrage, pour sa deuxième édition, a été entièrement revu et corrigé. Nombre d'exercices ont été remaniés, certains assez largement, en visant une meilleure gradation des difficultés et une argumentation plus complète.
À qui s'adresse ce livre ?

Aux étudiants et enseignants en science informatique
Aux ingénieurs, enseignants-chercheurs, informaticiens et industriels

Édition : Eyrolles - 832 pages, 2e édition, 10 janvier 2019

ISBN10 : 2212677286 - ISBN13 : 9782212677287

Commandez sur www.amazon.fr :

49.00 € TTC (prix éditeur 49.00 € TTC)
Mathématiques et informatiques : notions utiles
Complexité d'un algorithme
Spécification, invariants, itération
Diminuer pour résoudre, récursivité
Essais successifs
PSEP
Algorithmes gloutons
Diviser pour régner
Programmation dynamique
Critique du livre par la rédaction Thibaut Cuvelier le 20 février 2019
Vaste sujet qu'est la conception d'algorithmes. Peu de gens maîtrisent réellement ce domaine de l'informatique, le prenant pour mystérieux ou obscur. Cet ouvrage offre un tour d'horizon exhaustif des techniques de conception et abreuve le lecteur d'exemples en tout genre, justement pour donner l'habitude de la pensée algorithmique. Les auteurs suivent un schéma commun pour chaque technique présentée : une introduction, un premier exemple détaillé en profondeur, un résumé de la technique (les points essentiels à mettre en œuvre et les conditions d'application) sous la forme d'un patron de conception d'algorithme, puis une série d'exercices (parfois plus de cent pages pour une méthode, corrections comprises !). Cette manière de procéder explicite comment arriver, par un raisonnement rationnel plutôt qu'intuitif, à une solution efficace (sans oublier d'indiquer où la créativité a droit de cité). Les auteurs mettent en avant la rigueur avec laquelle ils ont rédigé le texte — il faut avouer que ce n'étaient pas des paroles en l'air.

L'ouvrage est principalement constitué d'exercices. Leurs énoncés sont souvent détaillés, de telle sorte qu'on comprenne bien là où les auteurs veulent mener sans devoir regarder la solution. Une manière très efficace d'utiliser le livre est ainsi de réaliser les exercices comme ils sont proposés, en ne vérifiant les solutions qu'à la fin de chaque question. Le lecteur qui préférera rester passif devra au contraire se munir de deux signets (l'un pour les énoncés, l'autre pour les solutions). Les exercices proposés sont relativement variés : on n'a pas droit à une pléthore de graphes et quelques autres pour faire bonne figure, mais un mélange plus varié, avec par exemple des jeux.

Pourtant, l'ouvrage n'est pas le plus abordable. Ce n'est pas tellement dû à ses prérequis — les auteurs s'attendent entre autres à un bon bagage en structures de données et en mathématiques —, mais plutôt au niveau de formalisme mathématique utilisé. Ils démontrent, par exemple, que les schémas de preuves habituels sont corrects ; autant dire que chaque algorithme est donné avec son invariant de boucle. Les preuves données dans les corrections sont détaillées, chaque étape du raisonnement étant minutieusement abordée (les auteurs ne sont pas des adeptes du « laissé au lecteur »). Ceci restreint le public ciblé, qui doit avoir une certaine ouverture d'esprit à la beauté mathématique ; inutile cependant d'avoir un parcours mathématique pur pour tirer bénéfice du livre.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 20/02/2019 à 4:08
La conception des algorithmes : une science !
L'algorithmique est l'art et la science de concevoir des algorithmes corrects et efficaces. Pour beaucoup d'informaticiens, c'est l'aspect artistique qui prédomine : on cherche l'idée lumineuse, la structure cachée, la réponse astucieuse. Mais la conception des algorithmes est d'abord une science dont il faut posséder les bases et les techniques avant d'exprimer sa créativité. Ce livre invite le lecteur à une approche rigoureuse de la construction d'algorithmes. Il explique comment la même idée peut se retrouver dans plusieurs algorithmes correspondant à des problèmes différents. Il donne les outils pour analyser rationnellement un problème, le classer dans une famille de méthodes et produire une solution exacte.
Un manuel de référence sur la construction raisonnée des algorithmes
Dans chaque chapitre de ce livre, les bases théoriques et techniques sont rappelées et illustrées par des exemples. On y trouve ensuite un grand nombre d'exercices, accompagnés d'une correction minutieuse et complète. De la sorte, on y voit comment une démarche rationnelle permet d'atteindre une solution, exacte par construction, à travers une grande variété de cas. Après des rappels sur le raisonnement, les structures de données et la complexité, le livre parcourt les grandes méthodes de construction d'algorithmes : invariants, récursivité, essais successifs, méthodes PSEP, algorithmes gloutons, diviser pour régner, programmation dynamique. Au total, près de 150 exemples d'algorithmes sont ainsi analysés et construits rigoureusement.
Cet ouvrage, pour sa deuxième édition, a été entièrement revu et corrigé. Nombre d'exercices ont été remaniés, certains assez largement, en visant une meilleure gradation des difficultés et une argumentation plus complète.
À qui s'adresse ce livre ?

  • Aux étudiants et enseignants en science informatique
  • Aux ingénieurs, enseignants-chercheurs, informaticiens et industriels


Conception d'algorithmes
Principes et 150 exercices corrigés, de Patrick Bosc, Marc Guyomard et Laurent Miclet
Avatar de Sarwen Sarwen - Membre à l'essai https://www.developpez.com
l 14/03/2019 à 10:40
Très bon livre, qui effectivement rappelle avec bonheur que l'informatique est une science et pas une succession de recettes toutes faites. A notez, car c'est important que ce livre est disponible SANS DRM ( https://www.numilog.com/1012536/Conc...orithmes.ebook ).

 
couverture du livre Data science

Note 3.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Data science

Cours et exercices

de
Public visé : Intermédiaire

Résumé de l'éditeur

Un ouvrage de référence sur les data sciences !

La data science, ou science des données, est la discipline qui traite de la collecte, de la préparation, de la gestion, de l'analyse, de l'interprétation et de la visualisation de grands ensembles de données complexes. Elle n'est pas seulement concernée par les outils et les méthodes pour obtenir, gérer et analyser les données ; elle consiste aussi à en extraire de la valeur et de la connaissance.

Cet ouvrage présente les fondements scientifiques et les composantes essentielles de la science des données, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Notre souci a été de proposer un exposé cohérent reliant la théorie aux algorithmes développés dans ces domaines. Il s'adresse aux chercheurs et ingénieurs qui abordent les problématiques liées à la science des données, aux data scientists de PME qui utilisent en profondeur les outils d'apprentissage, mais aussi aux étudiants de master, doctorants ou encore futurs ingénieurs qui souhaitent un ouvrage de référence en data science.

A qui s'adresse ce livre ?

  • Aux développeurs, statisticiens, étudiants et chefs de projets ayant à résoudre des problèmes de data science.
  • Aux data scientists, mais aussi à toute personne curieuse d'avoir une vue d'ensemble de l'état de l'art du machine learning.

Édition : Eyrolles - 272 pages, 1re édition, 16 août 2018

ISBN10 : 2212674104 - ISBN13 : 9782212674101

Commandez sur www.amazon.fr :

32.00 € TTC (prix éditeur 32.00 € TTC)
  • Introduction
  • Prétraitement des données
  • Gestion de données large-échelle et systèmes distribués
  • Calcul haute performance
  • Optimisation pour l'analyse de données
  • Décomposition matricielle/tensorielle
  • Modèles génératifs
  • Modèles discriminants
  • Deep learning
  • Visualisation interactive d'information
Critique du livre par la rédaction Thibaut Cuvelier le 15 octobre 2018
Ce petit livre se dénote de la concurrence par son focus sur les bases de la science des données : pas uniquement les algorithmes d'apprentissage ou d'extraction de connaissances. En effet, il traite aussi de la représentation des données, chose importante en début de projet. Globalement, les chapitres sont organisés comme le serait un projet en science des données. Le lecteur commence son parcours avec les données, puis passe aux techniques d'implémentation (c'est-à-dire le calcul distribué, l'optimisation, les méthodes numériques), finalement aux algorithmes proprement dits.

Tous ces sujets sont abordés de manière assez brève (le livre ne fait même pas trois cents pages) et concise, en insistant juste sur les éléments principaux. Le texte est rédigé de manière assez sèche, sans fioritures ; ce choix le rend d'ailleurs facile à lire. Les explications présentent un certain côté pédagogique qui plaira à bon nombre d'étudiants. Néanmoins, ce dépouillement impose des connaissances préexistantes dans le domaine, bien que pas forcément très poussées : la très brève introduction mène directement au vif du sujet, une progression assez étonnante.

Il s'agit de l'un des rares ouvrages à traiter tant des algorithmes que des techniques d'implémentation, ce qui en fait un point positif : ce lien aide le lecteur à rassembler Hadoop & co. avec les algorithmes d'apprentissage. On peut cependant regretter le fait que les exemples ne soient pas toujours les mieux choisis : notamment, le chapitre sur le calcul de haute performance présente diverses notions sous l'angle habituel de la résolution d'équations aux dérivées partielles — un sujet assez éloigné de la science des données.

La plupart des méthodes d'apprentissage sont ici survolées : les méthodes probabilistes (dont les modèles graphiques), les réseaux neuronaux, les ensembles, les plus proches voisins. Étonnamment, pourtant, les arbres de décision ne sont jamais présentés, ainsi que leurs dérivés directs (comme les forêts aléatoires), malgré leur grande utilité pratique. Tout le côté pratique est toutefois mis de côté : les neuf auteurs se focalisent sur les aspects théoriques du domaine, les principes derrière les méthodes, dans l'idée qu'il « suffit » alors de regarder la documentation d'une bibliothèque d'apprentissage.

Le chapitre sur la visualisation étonne quelque peu, mais apporte des compléments d'information très utiles. Il distille l'expérience acquise, notamment en cartographie, sur la meilleure manière de faire passer un message à travers des graphiques. Il n'importe là pas d'utiliser correctement les bibliothèques, mais d'agencer leurs fonctionnalités pour que les graphiques atteignent leur objectif.

En résumé, il s'agit là d'un très bon support de cours ou d'un petit ouvrage de référence dans le domaine de la science des données. Il ratisse assez large, en donnant des pointeurs vers la recherche actuelle dans le domaine, en omettant la pratique. (À noter que les solutions des exercices ne sont pas fournies.)




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 17/10/2018 à 0:59
Un ouvrage de référence sur les data sciences !
La data science, ou science des données, est la discipline qui traite de la collecte, de la préparation, de la gestion, de l'analyse, de l'interprétation et de la visualisation de grands ensembles de données complexes. Elle n'est pas seulement concernée par les outils et les méthodes pour obtenir, gérer et analyser les données ; elle consiste aussi à en extraire de la valeur et de la connaissance.
Cet ouvrage présente les fondements scientifiques et les composantes essentielles de la science des données, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Notre souci a été de proposer un exposé cohérent reliant la théorie aux algorithmes développés dans ces domaines. Il s'adresse aux chercheurs et ingénieurs qui abordent les problématiques liées à la science des données, aux data scientists de PME qui utilisent en profondeur les outils d'apprentissage, mais aussi aux étudiants de master, doctorants ou encore futurs ingénieurs qui souhaitent un ouvrage de référence en data science.
A qui s'adresse ce livre ?

  • Aux développeurs, statisticiens, étudiants et chefs de projets ayant à résoudre des problèmes de data science.
  • Aux data scientists, mais aussi à toute personne curieuse d'avoir une vue d'ensemble de l'état de l'art du machine learning.

Data science : cours et exercices

 
couverture du livre Apprentissage artificiel

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (2)
1 commentaire
 
 

Apprentissage artificiel

Deep learning, concepts et algorithmes

de
Public visé : Intermédiaire

Résumé de l'éditeur

Les programmes d'intelligence artificielle sont aujourd'hui capables de reconnaître des commandes vocales, d'analyser automatiquement des photos satellites, d'assister des experts pour prendre des décisions dans des environnements complexes et évolutifs (analyse de marchés financiers, diagnostics médicaux...), de fouiller d'immenses bases de données hétérogènes, telles les innombrables pages du Web...

Pour réaliser ces tâches, ils sont dotés de modules d'apprentissage leur permettant d'adapter leur comportement à des situations jamais rencontrées, ou d'extraire des lois à partir de bases de données d'exemples. Ce livre présente les concepts qui sous-tendent l'apprentissage artificiel, les algorithmes qui en découlent et certaines de leurs applications. Son objectif est de décrire un ensemble d'algorithmes utiles en tentant d'établir un cadre théorique pour l'ensemble des techniques regroupées sous ce terme "d'apprentissage artificiel".

La troisième édition de ce livre a été complètement réorganisée pour s'adapter aux évolutions très significatives de l'apprentissage artificiel ces dernières années. Une large place y est accordée aux techniques d'apprentissage profond et à de nouvelles applications, incluant le traitement de flux de données.

A qui s'adresse ce livre ?

Ce livre s'adresse tant aux décideurs et aux ingénieurs qui souhaitent mettre au point des applications qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs, qui souhaitent un ouvrage de référence sur ce domaine clé de l'intelligence artificielle.

Édition : Eyrolles - 912 pages, 3e édition, 17 mai 2018

ISBN10 : 2212675224 - ISBN13 : 9782212675221

Commandez sur www.amazon.fr :

56.00 € TTC (prix éditeur 56.00 € TTC)
  • Des machines apprenantes !
  • L'induction exploitant la structure de l'espace des hypothèses
  • L'induction par optimisation d'un critère inductif
  • L'induction par comparaison à des exemples (et par collaboration)
  • L'apprentissage descriptif
  • Apprentissage en environnement et non stationnaire
  • Aspects pratiques et suppléments
  • Annexes et bibliographie
Critique du livre par la rédaction Thibaut Cuvelier le 9 octobre 2018
À l'achat, ce livre se dénote par son poids, son nombre de pages. Que peut-il donc contenir de plus que la concurrence ? Le lecteur intéressé regardera ensuite la table des matières et verra que les sujets abordés sont plus étendus : les auteurs ne se focalisent pas sur l'apprentissage automatique, mais visent plus large, toutes les techniques qui permettent à un ordinateur d'extraire des connaissances depuis un jeu de données. C'est là le grand avantage de cet ouvrage, il cherche à donner une vue d'ensemble aussi diversifiée que possible sur un domaine d'étude loin d'être jeune. À la lecture, ce pressentiment se confirme : c'est complet, si ce n'est exhaustif ; c'est une référence (et le texte est prévu comme tel : aucun ordre n'est imposé sur la lecture des chapitres).

La rédaction diffère également de la concurrence, le point de vue adopté étant plus basé sur la théorie que la pratique. Les titres des chapitres ne révèlent pleinement leur cohérence qu'à la lecture. C'est là un parti pris : plus de théorie que de pratique. Cette structuration mène également à des points plus étonnants, comme le fait que la question de l'évaluation d'un apprentissage est traitée d'abord pour l'apprentissage non supervisé, puis (bien) après pour l'apprentissage supervisé plus classique. Également, le texte fourmille de références vers des articles plus académiques encore (les pages 851 à 889 sont réservées à la bibliographie), pour creuser plus avant si le cœur vous en dit.

Un point négatif (par rapport au public visé : « décideurs et […] ingénieurs […, ainsi] qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs ») est justement le côté théorique de toutes choses, le formalisme mathématique poussé à un très bon niveau. Les auteurs se veulent formels, et ce, dès l'introduction. Cela rend malheureusement l'ouvrage assez peu accessible, voire complètement imperméable pour les allergiques des mathématiques. Pourtant, lors de la majorité des chapitres, on se rend compte de l'effort fourni pour éviter l'abus d'anglicismes. Le sous-titre présente le mot clé « deep learning », mais celui-ci n'occupe pas une place aussi prépondérante que cela laisserait penser (deux chapitres sur vingt-trois).

On sent assez fortement qu'il y a trois auteurs, l'ouvrage manquant parfois de cohérence. Il est régulier de voir des références au passé à des notions qui ne sont pourtant détaillées que dans plusieurs chapitres (de manière similaire, les couvertures de Markov sont présentées au moins trois fois). Les rappels sont fréquents, mais il est plus gênant que, lorsque tous les chapitres pointent vers une notion à un endroit précis, cette définition soit elle aussi un rappel. Finalement, certaines informations sont clairement périmées : une note de bas de page indique que « très peu de travaux traitent de ce problème à ce jour (octobre 2009) », soit un peu avant la sortie de l'édition… précédente (en 2010). Trois sources de données sont citées (Microsoft Azure Marketplace, Datamarket, Data Publica), seule la dernière existe encore — quid dans quelques années ?

Par conséquent, l'ouvrage semble plutôt prédestiné à ceux qui veulent une compréhension profonde de la théorie derrière l'apprentissage, de ses liens avec les algorithmes. Il pèche sur les questions plus pratiques. Il n'y a donc pas beaucoup de souci à se faire pour la péremption des informations, qui resteront valables des années, si ce n'est dizaines d'années pour la plupart. Le public visé est plutôt mathématicien ou chercheur dans le domaine : il faut avoir déjà des connaissances préalables en apprentissage pour tirer un maximum du livre.
Critique du livre par la rédaction François DORIN le 5 décembre 2018
Ce livre est un pavé. Dans le bon sens du terme. Très complet, il aborde la théorie sur de nombreux aspects de l’apprentissage artificiel, de l’algorithme des plus proches voisins, aux séparateurs par vastes marges en passant par les réseaux connexionnistes (et bien d’autres encore).

Loin d’être facile à prendre en main, il nécessite un très bon niveau pour comprendre les différentes théories abordées. De ce fait, il n’est pas véritablement à conseiller à un débutant.

Dans les points positifs, on peut noter la présence de nombreux chapitres, chacun sur un sujet bien précis. À la fin de la grande majorité d’entre eux, se trouve un point historique ainsi qu’un résumé des notions abordées.

Malgré le niveau élevé de cet ouvrage, les nombreuses références bibliographiques en font paradoxalement un point d’entrée idéal pour un néophyte (mais disposant malgré tout d’un bon bagage mathématique).

Je note toutefois quelques points négatifs. Tout d’abord, j’ai ressenti un manque de cohérence dans l’organisation des différents chapitres. Ils font fréquemment référence à d’autres chapitres, et généralement de manière assez éloignée (comme le chapitre 3 référençant le chapitre 18 ou 20). Cela gêne pour une lecture linéaire.

Ensuite, je trouve dommage que pour une réédition, on ait parfois l’impression que les références n’aient pas été mises à jour. Les références citées sont parfois assez anciennes. Et cette impression s’est transformée en quasi-certitude page 730, où il est indiqué « qu’il n’existe à ce jour que très peu de travaux », avec une note de bas de page précisant que le « à ce jour » correspond au mois d’octobre 2009. Pour une réédition publiée en 2018, je trouve cela fort préjudiciable.

En dernier « reproche », je noterai un manque de finition qui vient perturber la lecture. Je peux citer des références non résolues (« ?? » dans le texte), des courbes couleur imprimées en noir et blanc, rendant impossible de savoir quelle courbe est la verte et laquelle est la rouge, ou encore les petites erreurs de typographie, surtout lorsqu’elles interviennent dans des formules mathématiques.

Pour conclure, malgré ses imperfections et son niveau de difficulté élevé, cet ouvrage reste un très bon ouvrage pour aborder, de manière théorique, de très nombreux aspects liés à l’apprentissage artificiel.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 10/10/2018 à 1:12
Les programmes d'intelligence artificielle sont aujourd'hui capables de reconnaître des commandes vocales, d'analyser automatiquement des photos satellites, d'assister des experts pour prendre des décisions dans des environnements complexes et évolutifs (analyse de marchés financiers, diagnostics médicaux...), de fouiller d'immenses bases de données hétérogènes, telles les innombrables pages du Web...

Pour réaliser ces tâches, ils sont dotés de modules d'apprentissage leur permettant d'adapter leur comportement à des situations jamais rencontrées, ou d'extraire des lois à partir de bases de données d'exemples. Ce livre présente les concepts qui sous-tendent l'apprentissage artificiel, les algorithmes qui en découlent et certaines de leurs applications. Son objectif est de décrire un ensemble d'algorithmes utiles en tentant d'établir un cadre théorique pour l'ensemble des techniques regroupées sous ce terme "d'apprentissage artificiel".

La troisième édition de ce livre a été complètement réorganisée pour s'adapter aux évolutions très significatives de l'apprentissage artificiel ces dernières années. Une large place y est accordée aux techniques d'apprentissage profond et à de nouvelles applications, incluant le traitement de flux de données.

A qui s'adresse ce livre ?

Ce livre s'adresse tant aux décideurs et aux ingénieurs qui souhaitent mettre au point des applications qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs, qui souhaitent un ouvrage de référence sur ce domaine clé de l'intelligence artificielle.
Apprentissage artificiel : deep learning, concepts et algorithmes, 3e édition
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 07/12/2018 à 7:20
Chers membres du Club,

Nous vous invitons à lire la critique que François DORIN a bien voulu faire sur ce livre :

Apprentissage artificiel : deep learning, concepts et algorithmes, 3e édition

Bonne lecture

 
couverture du livre Deep Learning avec TensorFlow

Note 4.75 drapeau
Détails du livre
Sommaire
Critiques (2)
1 commentaire
 
 

Deep Learning avec TensorFlow

Mise en oeuvre et cas concrets

de
Traducteurs : Hervé Soulard
Public visé : Débutant

Résumé de l'éditeur

Cet ouvrage, conçu pour tous ceux qui souhaitent s'initier au Deep Learning (apprentissage profond) est la traduction de la deuxième partie du best-seller américain Hands-On Machine Learning with Scikit-Learn & TensorFlow.

Le Deep Learning est récent et il évolue vite. Ce livre en présente les principales techniques : les réseaux de neurones profonds, capables de modéliser toutes sortes de données, les réseaux de convolution, capables de classifier des images, les segmenter et découvrir les objets ou personnes qui s'y trouvent, les réseaux récurrents, capables de gérer des séquences telles que des phrases, des séries temporelles, ou encore des vidéos, les autoencodeurs qui peuvent découvrir toutes sortes de structures dans des données, de façon non supervisée, et enfin le Reinforcement Learning (apprentissage par renforcement) qui permet de découvrir automatiquement les meilleures actions pour effectuer une tâche (par exemple un robot qui apprend à marcher).

Ce livre présente TensorFlow, le framework de Deep Learning créé par Google. Il est accompagné de notebooks Jupyter (disponibles sur github) qui contiennent tous les exemples de code du livre, afin que le lecteur puisse facilement tester et faire tourner les programmes. Il complète un premier livre intitulé Machine Learning avec Scikit-Learn.

Édition : Dunod - 320 pages, 1re édition, 22 août 2018

ISBN10 : 2100759930 - ISBN13 : 9782100759934

Commandez sur www.amazon.fr :

39.00 € TTC (prix éditeur 39.00 € TTC)
Les fondamentaux du Machine Learning
Introduction à TensorFlow
Introduction aux réseaux de neurones artificiels
Entraînement de réseaux de neurones profonds
Distribution de TensorFlow sur des processeurs ou des serveurs
Réseaux de neurones convolutifs
Réseaux de neurones récurrents
Autoencodeurs
Critique du livre par la rédaction Thibaut Cuvelier le 21 août 2018
L'apprentissage profond est la dernière technique à la mode pour l'apprentissage automatique, avec un évident manque de maturité. Il n'empêche que le domaine a donné d'excellents résultats dans un certain nombre d'applications, pour des jeux (comme AlphaGo) et la reconnaissance d'images, notamment. C'est pourquoi des livres comme celui-ci ont un marché à saisir. Comme dans le premier tome, Aurélien Géron ne se focalise pas sur les applications directement pratiques, mais passe aussi du temps sur les principes sous-jacents, de telle sorte que le lecteur a toutes les clés en main pour comprendre ce qu'il fait. Par rapport au premier ouvrage, celui-ci se montre néanmoins beaucoup plus pratique (les exemples de code sont plus nombreux) et passe nécessairement sur le sujet du calcul à plus grande échelle (sur plusieurs machines et cartes graphiques) — sans quoi on serait bien en peine d'exploiter complètement les techniques décrites.

Les points forts de cette œuvre se rapprochent de la première partie, notamment une bonne dose de pédagogie et une langue compréhensible par la majorité (à condition d'avoir les bonnes bases mathématiques) — l'emploi de termes anglophones est cependant plus présent que dans le premier tome. La variété de sujets abordés est intéressante, car elle s'étend sur tous les domaines actuels où l'apprentissage profond se développe (convolution, récursion, apprentissage par renforcement, principalement). Ce dernier exemple est particulièrement important, car rares sont les ressources qui parlent d'apprentissage par renforcement, surtout à un tel niveau de détail (en omettant toutefois les parties mathématiques assez complexes qui viennent rapidement dans le domaine — un grand plus de cet ouvrage qui facilite fortement la compréhension !). On peut regretter que Keras ou une autre interface de plus haut niveau ne soit pas traitée, pour faciliter l'expérimentation rapide.

Cet ouvrage se destine donc à toutes les personnes débutant dans l'apprentissage profond (ou qui connaissent l'utilisation plus classique des réseaux neuronaux, mais souhaitent se mettre au goût du jour). Il servira surtout à ceux qui veulent une référence écrite à garder sous la main ou qui n'aiment pas apprendre par le biais de vidéos en ligne (à ce niveau, quand il faut clairement faire un tri dans les vidéos disponibles, ce livre n'est pas démuni d'avantages).
Critique du livre par la rédaction Julien Plu le 23 octobre 2018
Je suis impliqué dans l'apprentissage automatique en tant que chercheur depuis environ six ans, en utilisant Python, et l'apprentissage des packages comme Pandas, NumPy, SciPy et scikit-learn n'est pas simple. C'est pour cette raison qu'il est indispensable d'avoir déjà des bases avec ces packages avant d'aborder cet ouvrage et de passer à TensorFlow.

TensorFlow est un framework difficile à prendre en main et à comprendre. Je travaille dessus depuis environ trois ans et il y a toujours des parties que je ne maîtrise pas, surtout que c'est un framework qui change son API très souvent. J'étais donc curieux de voir comment se présentait un ouvrage éducatif sur ce framework et je dois dire que j'ai été agréablement surpris par la clarté des explications et des implémentations des algorithmes : j'ai lu beaucoup d'explications détaillées sur les principales architectures de réseaux neuronaux (FFNN, CNN, RNN…) et rares sont celles qui sont aussi claires et intuitives. Une fois cet ouvrage fini, toute personne ayant les bases suffisantes en apprentissage automatique (voir l'ouvrage du même auteur sur le sujet) arrivera parfaitement à mettre en œuvre un réseau de neurones, ainsi qu'à réimplémenter un réseau de neurones existant.

Je recommande donc fortement cet ouvrage à qui veut apprendre les bases de l'apprentissage profond et les implémentations en TensorFlow.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 22/08/2018 à 14:37
Cet ouvrage, conçu pour tous ceux qui souhaitent s'initier au Deep Learning (apprentissage profond) est la traduction de la deuxième partie du best-seller américain Hands-On Machine Learning with Scikit-Learn & TensorFlow.
Le Deep Learning est récent et il évolue vite. Ce livre en présente les principales techniques : les réseaux de neurones profonds, capables de modéliser toutes sortes de données, les réseaux de convolution, capables de classifier des images, les segmenter et découvrir les objets ou personnes qui s'y trouvent, les réseaux récurrents, capables de gérer des séquences telles que des phrases, des séries temporelles, ou encore des vidéos, les autoencodeurs qui peuvent découvrir toutes sortes de structures dans des données, de façon non supervisée, et enfin le Reinforcement Learning (apprentissage par renforcement) qui permet de découvrir automatiquement les meilleures actions pour effectuer une tâche (par exemple un robot qui apprend à marcher).
Ce livre présente TensorFlow, le framework de Deep Learning créé par Google. Il est accompagné de notebooks Jupyter (disponibles sur github) qui contiennent tous les exemples de code du livre, afin que le lecteur puisse facilement tester et faire tourner les programmes. Il complète un premier livre intitulé Machine Learning avec Scikit-Learn.



Deep Learning avec TensorFlow

Mise en oeuvre et cas concrets
de Aurélien Géron
Avatar de Malick Malick - Community Manager https://www.developpez.com
l 29/10/2018 à 2:38
Bonjour chers membres du Club,

Je vous invite à lire la critique de Julien Plu au sujet du livre Deep Learning avec TensorFlow - Mise en oeuvre et cas concrets.

Bonne lecture


 
couverture du livre Machine Learning avec Scikit-Learn

Note 4.75 drapeau
Détails du livre
Sommaire
Critiques (2)
1 commentaire
 
 

Machine Learning avec Scikit-Learn

Mise en oeuvre et cas concrets

de
Traducteurs : Anne Bohy
Public visé : Intermédiaire

Résumé de l'éditeur

Cet ouvrage, conçu pour tous ceux qui souhaitent s'initier au Machine Learning (apprentissage automatique) est la traduction de la première partie du best-seller américain Hands-On Machine Learning with Scikit-Learn & TensorFlow.

Il ne requiert que peu de connaissances en mathématiques et présente les fondamentaux du Machine Learning d'une façon très pratique à l'aide de Scikit-Learn qui est l'un des frameworks de ML les plus utilisés actuellement.

Des exercices corrigés permettent de s'assurer que l'on a assimilé les concepts et que l'on maîtrise les outils.

Des compléments en ligne interactifs sous forme de notebooks Jupyter complètent le livre avec des exemples exécutables.

Ce premier titre est complété par un second ouvrage intitulé Deep Learning avec TensorFlow.

Édition : Dunod - 254 pages, 1re édition, 30 août 2017

ISBN10 : 210076540X - ISBN13 : 9782100765409

Commandez sur www.amazon.fr :

34.00 € TTC (prix éditeur 34.00 € TTC)
Vue d’ensemble du Machine Learning
Un projet de Machine Learning de bout en bout
Classification
Entraînement de modèles
Machines à vecteurs de support
Arbres de décision
Apprentissage d'ensemble et forêts aléatoires
Réduction de dimension
Critique du livre par la rédaction Thibaut Cuvelier le 8 août 2018
On trouve sur le marché quantité de livres sur l'apprentissage automatique, mais rares sont ceux qui valent vraiment la peine. Cet ouvrage trouve le juste équilibre entre une composante théorique (savoir comment fonctionnent les algorithmes, sans formalisme excessif) et pratique (utiliser des méthodes d'apprentissage en réalité, sans code inutile). Le sujet du passage à l'échelle (avec une plateforme comme Hadoop) n'est pas abordé, mais cela ne nuit pas au lecteur, qui pourra se référer à l'abondante littérature sur le sujet, tout comme les sujets les plus avancés : l'auteur se focalise sur les algorithmes les plus utiles, plutôt que sur les dernières avancées de la recherche. Le style est très loin d'être académique, même si l'ouvrage pointe régulièrement vers des articles de la littérature scientifique pour approfondir certains points.

Un des points forts est sans nul doute la pédagogie dont fait preuve l'auteur. Il n'abuse pas de jargon (la traduction en français est d'ailleurs de très bonne facture, sans quantité phénoménale d'anglicismes), pour des explications claires et progressives. Les exemples sont aussi bien choisis et donnent envie d'en faire plus. La présentation de scikit-learn n'est pas exhaustive, l'auteur préférant passer du temps sur les éléments les plus importants pour structurer correctement son code.

En résumé, on peut vraiment recommander ce livre pour toutes les personnes qui débutent dans le domaine de l'apprentissage automatique, mais aussi à toutes celles qui ont une certaine expérience et aimeraient la formaliser quelque peu. Le niveau attendu n'est pas très élevé, il suffit de connaissances assez basiques en mathématiques (à condition d'avoir une formation en informatique), comme les fonctions, les dérivées et les matrices. Par contre, il ne conviendra pas vraiment à celles et ceux qui cherchent une ressource plus avancée (même s'ils apprendront l'une ou l'autre chose utile au passage). Le seul aspect vraiment négatif est la séparation en deux ouvrages, celui-ci faisant complètement l'impasse sur les réseaux neuronaux, même si certaines remarques dans le fil du texte y font référence.
Critique du livre par la rédaction Julien Plu le 23 octobre 2018
Je travaille dans le domaine de l'apprentissage automatique depuis environ 6 années et je dois dire que ce livre est à mon sens un ouvrage abouti pour qui veut apprendre les bases de l'apprentissage automatique ainsi que les algorithmes les plus populaires et pas les plus simples. Par contre, ceux qui ont déjà une certaine expérience dans le domaine peuvent s'abstenir, car ils n'apprendront certainement pas grand-chose de plus. La partie la plus pertinente est à mon sens celle sur la méthodologie à adopter pour un projet d'apprentissage automatique (nettoyage des données, tests, analyses, etc.). L'auteur commence toujours par la théorie pour finir par un cas pratique afin de mettre le lecteur à l'aise et on sent que le style est plus celui d'un ingénieur que celui d'un chercheur, ce qui est une très bonne chose vu que cet ouvrage est censé être pour tout le monde. Le niveau requis en mathématique et en Python n'est pas très élevé, l'ouvrage est donc accessible même à un lycéen. Un autre très bon point est aussi les exercices corrigés à chaque fin de chapitre.

La seule frustration que j'aurais à la fin de ce livre est son manque de complétude, j'aurais aimé que l'auteur propose plus d'algorithmes. Par exemple, l'algorithme des K plus proches voisins, qui est beaucoup trop brièvement abordé. Malgré cela, c'est un ouvrage que je recommande très largement à toute personne désirant avoir des bases solides en apprentissage automatique.




 Commenter Signaler un problème

Avatar de Malick Malick - Community Manager https://www.developpez.com
l 26/10/2018 à 19:16
Bonjour chers membres du Club,

Je vous invite à lire la critique de Julien Plu au sujet du livre Machine Learning avec Scikit-Learn - Mise en oeuvre et cas concrets.

Bonne lecture
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 09/08/2018 à 0:03
Cet ouvrage, conçu pour tous ceux qui souhaitent s'initier au Machine Learning (apprentissage automatique) est la traduction de la première partie du best-seller américain Hands-On Machine Learning with Scikit-Learn & TensorFlow.

Il ne requiert que peu de connaissances en mathématiques et présente les fondamentaux du Machine Learning d'une façon très pratique à l'aide de Scikit-Learn qui est l'un des frameworks de ML les plus utilisés actuellement.

Des exercices corrigés permettent de s'assurer que l'on a assimilé les concepts et que l'on maîtrise les outils.

Des compléments en ligne interactifs sous forme de notebooks Jupyter complètent le livre avec des exemples exécutables.

Ce premier titre est complété par un second ouvrage intitulé Deep Learning avec TensorFlow.
[h=2]Machine Learning avec Scikit-Learn
[/h] [h=3]Mise en oeuvre et cas concrets[/h] de Aurélien Géron

 
couverture du livre Big Data et Machine Learning

Note 4 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Big Data et Machine Learning

Les concepts et les outils de la data science

de
Public visé : Débutant

Résumé de l'éditeur

Cet ouvrage s'adresse à tous ceux qui cherchent à tirer parti de l'énorme potentiel des « technologies Big Data », qu'ils soient data scientists, DSI, chefs de projets ou spécialistes métier.

Le Big Data s'est imposé comme une innovation majeure pour toutes les entreprises qui cherchent à construire un avantage concurrentiel grâce à l'exploitation de leurs données clients, fournisseurs, produits, processus, machines, etc.

Mais quelle solution technique choisir ? Quelles compétences métier développer au sein de la DSI ?

Ce livre est un guide pour comprendre les enjeux d'un projet Big Data, en appréhender les concepts sous-jacents (en particulier le Machine Learning) et acquérir les compétences nécessaires à la mise en place d'un data lab.

Il combine la présentation :
  • de notions théoriques (traitement statistique des données, calcul distribué...) ;
  • des outils les plus répandus (écosystème Hadoop, Storm...) ;
  • d'exemples d'applications ;
  • d'une organisation typique d'un projet de data science.


Cette deuxième édition est complétée et enrichie par des mises à jour sur les réseaux de neurones et sur le Deep Learning ainsi que sur Spark..

Édition : Dunod - 272 pages, 2e édition, 9 octobre 2016

ISBN10 : 2100754637 - ISBN13 : 9782100754632

Commandez sur www.amazon.fr :

29.87 € TTC (prix éditeur 29.90 € TTC)
Les fondements du Big Data

  • Les origines du Big Data
  • Le Big Data dans les organisations
  • Le mouvement NoSQL
  • L'algorithme MapReduce et le framework Hadoop


Le métier de data scientist

  • Le quotidien du data scientist
  • Exploration et préparation de données
  • Le Machine Learning
  • La visualisation des données


Les outils du Big Data

  • L'écosystème Hadoop
  • Analyse de logs avec Pig et Hive
  • Les architectures lambda
  • Apache Storm
Critique du livre par la rédaction Thibaut Cuvelier le 25 septembre 2017
Cet ouvrage concerne deux mots qui reviennent régulièrement à l'actualité : le « big data » et le « machine learning ». Il dresse effectivement un tour d'horizon assez large de cet univers : toutes les étapes d'un projet d'exploitation de données sont traitées, depuis les questions auxquelles on peut s'attendre à trouver une réponse au traitement des données, depuis le déploiement d'une grappe de calcul jusqu'aux algorithmes qui y tourneront, sans oublier la visualisation.

Le principal avantage du livre est qu'il présente, dans un format compact, l'ensemble des notions de base utiles à toute personne devant intervenir dans un projet d'exploitation de données. Son public est donc assez large, le contenu ne nécessite bien souvent pas une longue expérience en informatique pour s'y retrouver : les auteurs assument entièrement ce choix. Les explications sont généralement claires, ce qui cadre bien avec l'objectif ; les nombreuses illustrations aident également. Malgré les quatre auteurs, l'ensemble est extrêmement fluide.

Le livre n'hésite pas à tordre le cou à certaines idées reçues. Non, la science de données n'est pas neuve : ce qui l'est, c'est la capacité (technique) de gérer de grands volumes d'information. Non, de grandes quantités de données ne résoudront pas tout problème dans une entreprise.

Les aspects réellement techniques ne sont pas oubliés. Le livre s'appesantit sur l'architecture MapReduce avec l'outil Hadoop pour déployer les calculs à large échelle, mais n'oublie pas de présenter YARN ou Drill. Conformément à l'esprit des auteurs, l'installation des outils est mise sur le côté, puisqu'ils préfèrent parler de distributions qui facilitent en bonne partie le travail et sont très bien adaptées à ceux qui débutent dans le domaine.

On peut cependant noter l'un ou l'autre point faible. Le côté apprentissage automatique est extrêmement limité, malgré sa présence dans le titre. La section sur l'apprentissage profond dénote fortement avec le reste du chapitre, étant extrêmement mathématique (au contraire du reste de l'ouvrage !). Une seule étude de cas est présentée, ce qui est dommage, notamment au niveau de la partie sur les outils.

Pour résumer, ce livre est à mettre entre toutes les mains des personnes qui aimeraient découvrir le domaine de l'exploitation des données à grande échelle. Elles auront un aperçu complet et bon nombre de pointeurs pour continuer leur apprentissage.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 26/09/2017 à 21:16
Cet ouvrage s'adresse à tous ceux qui cherchent à tirer parti de l'énorme potentiel des « technologies Big Data », qu'ils soient data scientists, DSI, chefs de projets ou spécialistes métier.

Le Big Data s'est imposé comme une innovation majeure pour toutes les entreprises qui cherchent à construire un avantage concurrentiel grâce à l'exploitation de leurs données clients, fournisseurs, produits, processus, machines, etc.

Mais quelle solution technique choisir ? Quelles compétences métier développer au sein de la DSI ?

Ce livre est un guide pour comprendre les enjeux d'un projet Big Data, en appréhender les concepts sous-jacents (en particulier le Machine Learning) et acquérir les compétences nécessaires à la mise en place d'un data lab.

Il combine la présentation :
  • de notions théoriques (traitement statistique des données, calcul distribué...) ;
  • des outils les plus répandus (écosystème Hadoop, Storm...) ;
  • d'exemples d'applications ;
  • d'une organisation typique d'un projet de data science.


Cette deuxième édition est complétée et enrichie par des mises à jour sur les réseaux de neurones et sur le Deep Learning ainsi que sur Spark..
Voir les critiques.

 
couverture du livre Data Scientist et langage R

Note 3 drapeau
Détails du livre
Sommaire
Critiques (2)
0 commentaire
 
 

Data Scientist et langage R

Guide d'autoformation à l'exploitation des Big Data

de
Public visé : Intermédiaire

Résumé de l'éditeur

Tous les experts s'accordent à dire que 90% des usages du Big Data proviennent de l'utilisation des data sciences. L'objectif de ce livre est de proposer une formation complète et opérationnelle sur les data sciences qui permet de délivrer des solutions via l'usage du langage R.

Ainsi, l'auteur propose un parcours didactique et professionnalisant qui, sans autre pré-requis qu'un niveau Bac en mathématiques et une grande curiosité, permet au lecteur :
  • de s'intégrer à une équipe de data scientists,
  • d'aborder des articles de recherche possédant une haute teneur en mathématiques,
  • le cas échéant de développer en langage R, y compris des algorithmes nouveaux et de beaux graphiques,
  • ou tout simplement de manager une équipe projet comprenant des data scientists, en étant à même de dialoguer avec eux de façon efficace.


Le livre ne se cantonne pas aux algorithmes du "machine learning", il aborde divers sujets importants comme le traitement du langage naturel, les séries temporelles, la logique floue, la manipulation des images.

La dynamique de l'ouvrage soutient le lecteur pas à pas dans sa découverte des data sciences et l'évolution de ses compétences théoriques et pratiques. Le praticien en exercice y découvrira également de nombreux savoir-faire à acquérir et le manager pourra surfer sur l'ouvrage après avoir lu attentivement le bestiaire des data sciences de l'introduction, qui sans inexactitude ou vulgarisation excessive présente le sujet en faisant l'économie de mathématiques ou de formalismes dissuasifs.

Édition : ENI - 663 pages, 1er mars 2016

ISBN10 : 2409000436 - ISBN13 : 9782409000430

Commandez sur www.amazon.fr :

54.00 € TTC (prix éditeur 54.00 € TTC)
  • Introduction
  • Premiers pas avec R
  • Maîtriser les bases
  • Techniques et algorithmes incontournables
  • Cadre méthodologique du data scientist
  • Traitement du langage naturel
  • Graphes et réseaux
  • Autres problèmes, autres solutions
  • Feature Engineering
  • Compléments utiles
  • Annexes
Critique du livre par la rédaction Nicolas Vallée le 25 juillet 2016
Cet ouvrage est destiné à un public soucieux de découvrir le langage R et son utilisation pour manipuler des jeux de données, leur appliquer quelques grands algorithmes classiques et obtenir rapidement un rendu visuel.
Dans le premier chapitre, le lecteur trouvera plus de 50 pages présentant quelques concepts se cachant derrière le terme « big data », la présentation rapide de techniques de classification et d'apprentissage, puis une présentation (trop ?) succincte de l'écosystème Hadoop.
Les chapitres suivants seront une initiation au langage R, illustrée par des exemples de toutes les techniques évoquées au chapitre 1. Cette partie s'avèrera extrêmement dense, et très utile pour se former à l'utilisation pratique de R.

En revanche, un certain lectorat pourra, à juste titre, reprocher l'absence de recul et d'approche théorique. Finalement, le lecteur saura utiliser les outils, mais n'aura pas forcément la maturité nécessaire pour faire mieux qu'appliquer les recettes présentées en espérant que le résultat soit utilisable.
Critique du livre par la rédaction Thibaut Cuvelier le 1er juillet 2017
La « science des données » se veut à la mode, ce qui incite à la publication de nombreux livres sur ce sujet. Les axes d'approche sont multiples et variés : du côté purement académique (les algorithmes d'apprentissage, étudiés dans l'abstrait) à l'extrême pragmatique (utiliser ces algorithes commes des boîtes noires). Cet ouvrage se place entre ces deux extrêmes, ce qui le rend, de prime abord, intéressant pour un public large. La présence du terme (voire jargonnerie) « big data » donne l'impression qu'il sera sujet de grands volumes de données, mais l'auteur n'en traite que très rapidement, se focalisant sur les aspects de traitement des données, de leur visualisation et de l'application des algorithmes principaux d'apprentissage automatique.

D'une manière générale, ce livre déçoit par son manque de structure. Les sections se succèdent sans nécessairement avoir de lien entre elles, en présentant parfois approximativement des techniques issues des statistiques et de l'apprentissage automatique sans vraiment de recul. Par exemple, on aura droit à une présentation des data frames de R, très rapidement suivie de la notion d'arbre de décision — sans que les deux aient l'air liés d'une quelconque manière — ou encore à RCommander juste après une introduction à la notion de variable aléatoire. Cette construction déstructurée pourrait être avantageuse pour un public plutôt débutant, sans bagage conséquent en mathématiques ou en programmation, qui aura ainsi la possibilité de tester directement la syntaxe de R entre le chargement d'un jeu de données et son exploitation par apprentissage automatique, sans s'allourdir de considérations autres que pratiques. Néanmoins, une structure assumée aiderait certains à comprendre… et surtout à utiliser l'ouvrage comme référence.

Cet ouvrage contient une introduction à la programmation en R de manière intuitive, renforcée par quantité d'exemples : elle devrait donner les bases à ceux qui n'ont que très peu touché à la programmation, des bases suffisantes pour écrire leur propre code proprement — même en utilisant l'approche orientée objet. Cependant, par la suite, l'auteur ne convainc pas réellement que R est l'outil le plus approprié pour ce cas d'utilisation, notamment à cause du nombre d'avertissements égrainés tout au long de l'ouvrage, autant d'indicateurs que le langage est piégeux. Un bon nombre d'outils est présenté, mais très rarement approfondi : par exemple, dplyr est très rapidement présenté, mais tout aussi vite oublié, sans montrer réellement ses apports par rapport aux fonctionnalités de base de R.

Le premier chapitre du livre est néanmoins très intéressant, notamment pour son bestiaire de la science des données : tous les concepts de base y sont représentés, dont une série graphiquement. Les explications sont succinctes, parfois approximatives, mais facilitent la compréhension du domaine dans son ensemble, chaque élément menant au suivant.
L'autre chapitre qui fait sortir ce livre de la moyenne concerne le suivi d'un projet de développement dans le domaine de la science des données. Il devrait aider le lecteur à s'organiser en situation réelle, notamment en pointant les différences par rapport aux cycles de développement logiciel.

Tout au long de l'ouvrage, l'auteur ne suit qu'une seule approche : comprendre le jeu de données (à l'aide de graphiques, principalement) aide à le modéliser, c'est-à-dire à choisir et appliquer un algorithme d'apprentissage automatique. L'approche inverse, qui consiste à exploiter le résultat d'algorithmes d'apprentissage pour analyser les données, n'est reléguée qu'à quelques notes éparses (à peine parle-t-on de l'importance des variables déterminée par une forêt aléatoire). On a là l'impression que l'auteur a une bonne expérience du domaine, avec un biais très fort envers les solutions très pragmatiques, mais nettement moins envers la recherche, toujours florissante dans le domaine — un comble, quand l'un des objectifs annoncés du livre est de mener à un niveau de compréhension suffisant du domaine pour aborder la littérature scientifique de pointe. Les notions théoriques ne sont toutefois pas oubliées, avec des présentations assez détaillées en ce qui concerne les probabilités et variables aléatoires (jusqu'à préciser la définition d'une tribu !) ou encore l'algèbre linéaire — sans que ces rappels soient réellement mis en rapport avec le reste de l'ouvrage.

Certains sujets sont abordés de manière extrêmement superficielle (comme le traitement d'images ou encore la logique floue), les rendant strictement inutiles. D'autres le sont, mais sans que ce soit justifié (le niveau de détail des variables aléatoires ou encore l'optimisation par essaims) : ces outils ne sont pas mis en lien avec le reste des thèmes abordés.

En résumé, ce livre pourrait être utile pour des débutants dans le domaine, qui n'ont pas une grande expérience dans le domaine ou un bagage mathématique poussé. Ces gens pourront profiter du livre, en omettant les parties trop mathématiques abstraites. Cela ne signifie pas que, pour ce public, tous les objectifs annoncés sont atteints. Difficile d'être pleinement opérationnel après uniquement la lecture de ce livre, de « s'autoformer », même en approfondissant chacun des exemples. Par contre, le niveau d'exposition devrait être suffisant pour dialoguer en profondeur avec des personnes dont la science des données est le domaine de prédilection.




 Commenter Signaler un problème

Avatar de gorgonite gorgonite - Rédacteur/Modérateur https://www.developpez.com
l 25/07/2016 à 11:43
Data Scientist et langage R
Guide d'autoformation à l'exploitation des Big Data


Tous les experts s'accordent à dire que 90% des usages du Big Data proviennent de l'utilisation des data sciences. L'objectif de ce livre est de proposer une formation complète et opérationnelle sur les data sciences qui permet de délivrer des solutions via l'usage du langage R.

Ainsi, l'auteur propose un parcours didactique et professionnalisant qui, sans autre pré-requis qu'un niveau Bac en mathématiques et une grande curiosité, permet au lecteur :
  • de s'intégrer à une équipe de data scientists,
  • d'aborder des articles de recherche possédant une haute teneur en mathématiques,
  • le cas échéant de développer en langage R, y compris des algorithmes nouveaux et de beaux graphiques,
  • ou tout simplement de manager une équipe projet comprenant des data scientists, en étant à même de dialoguer avec eux de façon efficace.


Le livre ne se cantonne pas aux algorithmes du "machine learning", il aborde divers sujets importants comme le traitement du langage naturel, les séries temporelles, la logique floue, la manipulation des images.

La dynamique de l'ouvrage soutient le lecteur pas à pas dans sa découverte des data sciences et l'évolution de ses compétences théoriques et pratiques. Le praticien en exercice y découvrira également de nombreux savoir-faire à acquérir et le manager pourra surfer sur l'ouvrage après avoir lu attentivement le bestiaire des data sciences de l'introduction, qui sans inexactitude ou vulgarisation excessive présente le sujet en faisant l'économie de mathématiques ou de formalismes dissuasifs.

[Lire la suite]



 
couverture du livre L'Intelligence Artificielle pour les développeurs

Note 5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

L'Intelligence Artificielle pour les développeurs

Concepts et implémentations en Java

de
Public visé : Débutant

Résumé de l'éditeur

Ce livre sur l'Intelligence Artificielle s'adresse particulièrement aux développeurs et ne nécessite pas de connaissances mathématiques approfondies. Au fil des chapitres, l'auteur présente les principales techniques d'Intelligence Artificielle et, pour chacune d'elles, les inspirations, biologiques, physiques voire mathématiques, puis les différents concepts et principes (sans entrer dans les détails mathématiques), avec des exemples et figures pour chacun de ceux-ci. Les domaines d'application sont illustrés par des applications réelles et actuelles. Chaque chapitre contient un exemple d'implémentation générique, complété par une application pratique, développée en Java. Ces exemples de code étant génériques, ils sont facilement adaptables à de nombreuses applications Java 8, sans plugin extérieur. Les techniques d'Intelligence Artificielle décrites sont :

- Les systèmes experts, permettant d'appliquer des règles pour prendre des décisions ou découvrir de nouvelles connaissances.
- La logique floue, permettant de contrôler des systèmes informatiques ou mécaniques de manière beaucoup plus souple que les programmes traditionnels.
- Les algorithmes de recherche de chemin, dont le A* très utilisé dans les jeux vidéo pour trouver les meilleurs itinéraires.
- Les algorithmes génétiques, utilisant la puissance de l'évolution pour apporter des solutions à des problèmes complexes.
- Les principales métaheuristiques, dont la recherche tabou, trouvant des optimums à des problèmes d'optimisation, avec ou sans contraintes.
- Les systèmes multi-agents, simulant des foules ou permettant des comportements émergents à partir de plusieurs agents très simples.
- Les réseaux de neurones, capables de découvrir et de reconnaître des modèles, dans des suites historiques, des images ou encore des données.

Pour aider le lecteur à passer de la théorie à la pratique, l'auteur propose en téléchargement sur le site www.editions-eni.fr, sept projets Java (réalisés avec Netbeans), un par technique d'Intelligence Artificielle. Chaque projet contient un package générique et un ou plusieurs packages spécifiques à l'application proposée.

Le livre se termine par une bibliographie, permettant au lecteur de trouver plus d'informations sur ces différentes techniques, une sitographie listant quelques articles présentant des applications réelles, une annexe et un index.

Édition : ENI - 484 pages, 1er décembre 2015

ISBN10 : 2746098431 - ISBN13 : 9782746098435

Commandez sur www.amazon.fr :

45.00 € TTC (prix éditeur 45.00 € TTC)
Avant-propos
1. Objectifs du livre
2. Public et prérequis
3. Structure du livre
4. Code en téléchargement

Introduction
1. Présentation du chapitre
2. Définir l’intelligence
3. L’intelligence du vivant
4. L’intelligence artificielle
5. Domaines d’application
6. Synthèse

Systèmes experts
1. Présentation du chapitre
2. Exemple : un système expert en polygones
2.1 Triangles
2.2 Quadrilatères
2.3 Autres polygones
3. Contenu d'un système expert
3.1 Base de règles
3.2 Base de faits
3.3 Moteur d'inférences
3.4 Interface utilisateur
4. Types d'inférences
4.1 Chaînage avant
4.1.1 Principe
4.1.2 Application à un exemple
4.2 Chaînage arrière
4.2.1 Principe
4.2.2 Application à un exemple
4.3 Chaînage mixte
5. Étapes de construction d'un système
5.1 Extraction des connaissances
5.2 Création du moteur d'inférences
5.3 Écriture des règles
5.4 Création de l'interface utilisateur
6. Performance et améliorations
6.1 Critères de performance
6.2 Amélioration des performances par l'écriture des règles
6.3 Importance de la représentation du problème
7. Ajout d’incertitudes et de probabilités
7.1 Apport des incertitudes
7.2 Faits incertains
7.3 Règles incertaines
8. Domaines d’application
8.1 Aide au diagnostic
8.2 Estimation de risques
8.3 Planification et logistique
8.4 Transfert de compétences et connaissances
8.5 Autres applications
9. Création d'un système expert en Java
9.1 Détermination des besoins
9.2 Implémentation des faits
9.3 Base de faits
9.4 Règles et base de règles
9.5 Interface
9.6 Moteur d'inférences
9.7 Saisie des règles et utilisation
10. Utilisation de Prolog
10.1 Présentation du langage
10.2 Syntaxe du langage
10.2.1 Généralités
10.2.2 Prédicats
10.2.3 Poser des questions
10.2.4 Écriture des règles
10.2.5 Autres prédicats utiles
10.3 Codage du problème des formes géométriques
10.4 Codage du problème des huit reines
10.4.1 Intérêt du chaînage arrière
10.4.2 Étude du problème
10.4.3 Règles à appliquer
10.4.4 Règles de conflits entre reines
10.4.5 But du programme
10.4.6 Exemples d'utilisation
11. Synthèse

Logique floue
1. Présentation du chapitre
2. Incertitude et imprécision
2.1 Incertitude et probabilités
2.2 Imprécision et subjectivité
2.3 Nécessité de traiter l'imprécision
3. Ensembles flous et degrés d’appartenance
3.1 Logique booléenne et logique floue
3.2 Fonctions d'appartenance
3.3 Caractéristiques d'une fonction d'appartenance
3.4 Valeurs et variables linguistiques
4. Opérateurs sur les ensembles flous
4.1 Opérateurs booléens
4.2 Opérateurs flous
4.2.1 Négation
4.2.2 Union et intersection
5. Création de règles
5.1 Règles en logique booléenne
5.2 Règles floues
6. Fuzzification et défuzzification
6.1 Valeur de vérité
6.2 Fuzzification et application des règles
6.3 Défuzzification
7. Domaines d’application
7.1 Première utilisation
7.2 Dans les produits électroniques
7.3 En automobile
7.4 Autres domaines
8. Implémentation d'un moteur de logique floue
8.1 Le cœur du code : les ensembles flous
8.1.1 Point2D : un point d'une fonction d'appartenance
8.1.2 EnsembleFlou : un ensemble flou
8.1.3 Opérateurs de comparaison et de multiplication
8.1.4 Opérateurs ensemblistes
8.1.5 Calcul du barycentre
8.2 Ensembles flous particuliers
8.3 Variables et valeurs linguistiques
8.3.1 Valeur linguistique
8.3.2 Variable linguistique
8.4 Règles floues
8.4.1 Expression floue
8.4.2 Valeur numérique
8.4.3 Règle floue
8.5 Système de contrôle flou
8.6 Synthèse du code créé
9. Implémentation d'un cas pratique
10. Synthèse

Recherche de chemins
1. Présentation du chapitre
2. Chemins et graphes
2.1 Définition et concepts
2.2 Représentations
2.2.1 Représentation graphique
2.2.2 Matrice d’adjacence
2.3 Coût d'un chemin et matrice des longueurs
3. Exemple en cartographie
4. Algorithmes naïfs de recherche de chemins
4.1 Parcours en profondeur
4.1.1 Principe et pseudo-code
4.1.2 Application à la carte
4.2 Parcours en largeur
4.2.1 Principe et pseudo-code
4.2.2 Application à la carte
5. Algorithmes "intelligents"
5.1 Algorithme de Bellman-Ford
5.1.1 Principe et pseudo-code
5.1.2 Application à la carte
5.2 Algorithme de Dijkstra
5.2.1 Principe et pseudo-code
5.2.2 Application à la carte
5.3 Algorithme A*
5.3.1 Principe et pseudo-code
5.3.2 Application à la carte
6. Domaines d’application
7. Implémentation
7.1 Nœuds, arcs et graphes
7.1.1 Implémentation des noeuds
7.1.2 Classe représentant les arcs
7.1.3 Graphes
7.2 Fin du programme générique
7.2.1 IHM
7.2.2 Algorithme générique
7.3 Implémentation des différents algorithmes
7.3.1 Recherche en profondeur
7.3.2 Recherche en largeur
7.3.3 Algorithme de Bellman-Ford
7.3.4 Algorihme de Dijkstra
7.3.5 Algorithme A*
7.4 Application à la carte
7.4.1 Gestion des tuiles
7.4.2 Implémentation de la carte
7.4.3 Programme principal
7.5 Comparaison des performances
8. Synthèse

Algorithmes génétiques
1. Présentation du chapitre
2. Évolution biologique
2.1 Le concept d'évolution
2.2 Les causes des mutations
2.3 Le support de cette information : les facteurs
2.4 Des facteurs au code génétique
2.5 Le « cycle de la vie »
3. Évolution artificielle
3.1 Principes
3.2 Vue d'ensemble du cycle
3.2.1 Phases d'initialisation et de terminaison
3.2.2 Phase de sélection
3.2.3 Phase de reproduction avec mutations
3.2.4 Phase de survie
3.3 Convergence
4. Exemple du robinet
4.1 Présentation du problème
4.2 Initialisation de l'algorithme
4.3 Évaluation des individus
4.4 Reproduction avec mutations
4.5 Survie
4.6 Suite du processus
5. Choix des représentations
5.1 Population et individus
5.2 Gènes
5.3 Cas d'un algorithme de résolution de labyrinthe
6. Évaluation, sélection et survie
6.1 Choix de la fonction d’évaluation
6.2 Opérateurs de sélection
6.3 Opérateurs de survie
7. Reproduction : crossover et mutation
7.1 Crossover
7.2 Mutation
8. Domaines d’application
9. Coévolution
10. Implémentation d'un algorithme génétique
10.1 Implémentation générique d'un algorithme
10.1.1 Spécifications
10.1.2 Paramètres
10.1.3 Individus et gènes
10.1.4 IHM
10.1.5 Processus évolutionnaire
10.2 Utilisation pour le voyageur de commerce
10.2.1 Présentation du problème
10.2.2 Environnement
10.2.3 Gènes
10.2.4 Individus
10.2.5 Programme principal
10.2.6 Résultats
10.3 Utilisation pour la résolution d'un labyrinthe
10.3.1 Présentation du problème
10.3.2 Environnement
10.3.3 Gènes
10.3.4 Individus
10.3.5 Modification de la fabrique
10.3.6 Programme principal
10.3.7 Résultats
11. Synthèse

Métaheuristiques d'optimisation
1. Présentation du chapitre
2. Optimisation et minimums
2.1 Exemples
2.2 Le problème du sac à dos
2.3 Formulation des problèmes
2.4 Résolution mathématique
2.5 Recherche exhaustive
2.6 Métaheuristiques
3. Algorithmes gloutons
4. Descente de gradient
5. Recherche tabou
6. Recuit simulé
7. Optimisation par essaims particulaires
8. Méta-optimisation
9. Domaines d’application
10. Implémentation
10.1 Classes génériques
10.2 Implémentation des différents algorithmes
10.2.1 Algorithme glouton
10.2.2 Descente de gradient
10.2.3 Recherche tabou
10.2.4 Recuit simulé
10.2.5 Optimisation par essaims particulaires
10.3 Résolution du problème du sac à dos
10.3.1 Implémentation du problème
10.3.2 Algorithme glouton
10.3.3 Descente de gradient
10.3.4 Recherche tabou
10.3.5 Recuit simulé
10.3.6 Optimisation par essaims particulaires
10.3.7 Programme principal
10.4 Résultats obtenus
11. Synthèse

Systèmes multi-agents
1. Présentation du chapitre
2. Origine biologique
2.1 Les abeilles et la danse
2.2 Les termites et le génie civil
2.3 Les fourmis et l'optimisation de chemins
2.4 Intelligence sociale
3. Systèmes multi-agents
3.1 L'environnement
3.2 Les objets
3.3 Les agents
4. Classification des agents
4.1 Perception du monde
4.2 Prise des décisions
4.3 Coopération et communication
4.4 Capacités de l'agent
5. Principaux algorithmes
5.1 Algorithmes de meutes
5.2 Optimisation par colonie de fourmis
5.3 Systèmes immunitaires artificiels
5.4 Automates cellulaires
6. Domaines d’application
6.1 Simulation de foules
6.2 Planification
6.3 Phénomènes complexes
7. Implémentation
7.1 Banc de poissons 2D
7.1.1 Les objets du monde et les zones à éviter
7.1.2 Les agents-poissons
7.1.3 L'océan
7.1.4 L'application graphique
7.1.5 Résultats obtenus
7.2 Tri sélectif
7.2.1 Les déchets
7.2.2 Les agents nettoyeurs
7.2.3 L'environnement
7.2.4 L'application graphique
7.2.5 Résultats obtenus
7.3 Le jeu de la vie
7.3.1 La grille
7.3.2 L'application graphique
7.3.3 Résultats obtenus
8. Synthèse

Réseaux de neurones
1. Présentation du chapitre
2. Origine biologique
3. Le neurone formel
3.1 Fonctionnement général
3.2 Fonctions d'agrégation
3.3 Fonctions d'activation
3.3.1 Fonction heavyside
3.3.2 Fonction sigmoïde
3.3.3 Fonction gaussienne
3.4 Poids et apprentissage
4. Perceptron
4.1 Structure
4.2 Condition de linéarité
5. Réseaux feed-forward
6. Apprentissage
6.1 Apprentissage non supervisé
6.2 Apprentissage par renforcement
6.3 Apprentissage supervisé
6.3.1 Principe général
6.3.2 Descente de gradient
6.3.3 Algorithme de Widrow-Hoff
6.3.4 Rétropropagation
6.4 Surapprentissage et généralisation
6.4.1 Reconnaître le surapprentissage
6.4.2 Création de sous-ensembles de données
7. Autres réseaux
7.1 Réseaux de neurones récurrents
7.2 Cartes de Kohonen
7.3 Réseaux de Hopfield
8. Domaines d'application
8.1 Reconnaissance de patterns
8.2 Estimation de fonctions
8.3 Création de comportements
9. Implémentation d'un MLP
9.1 Points et ensembles de points
9.2 Neurone
9.3 Réseau de neurones
9.4 IHM
9.5 Système complet
9.6 Programme principal
9.7 Applications
9.7.1 Application au XOR
9.7.2 Application à Abalone
9.7.3 Améliorations possibles
10. Synthèse

Sitographie

Annexe
Critique du livre par la rédaction Vincent PETIT le 21 juin 2017
Ce livre est une très bonne entrée en matière et s'adresse à toute personne, même non-initiée à l'informatique, souhaitant démystifier le domaine de l'Intelligence Artificielle.

L'auteur propose un panorama de divers thèmes avec une très grande simplicité, sans grandes équations mathématiques et sans connaissances particulières préalables. Il aborde de nombreuses techniques d'algorithmes appliquées en Intelligence Artificielle de manière très claire. Tout est très simplement expliqué, de l'origine de la théorie, en passant par l'explication via un exemple ludique, jusqu'à une implémentation. Les exemples proposés sont très bien détaillés et les codes proposés sont simples, sans complexités et écrits dans un but pédagogique fournissant ainsi une prise en main concrète et efficace des concepts.
La bibliographie et la sitographie donnent des pistes pour approfondir chaque thématique.

Ce livre n'a pas vocation à apporter une expertise dans le domaine de l'Intelligence Artificielle et d'autres références, plus théoriques, seront nécessaires pour compléter le sujet.


couverture du livre Recherche d'information

Note 4 drapeau
Détails du livre
Sommaire
Critiques (2)
0 commentaire
 
 

Recherche d'information

Applications, modèles et algorithmes — data mining, décisionnel et big data

de
Public visé : Intermédiaire

Résumé de l'éditeur

Le premier ouvrage francophone sur les algorithmes qui sous-tendent les technologies de big data et les moteurs de recherche !

Depuis quelques années, de nouveaux modèles et algorithmes sont mis au point pour traiter des données de plus en plus volumineuses et diverses. Cet ouvrage présente les fondements scientifiques des tâches les plus répandues en recherche d'information (Rl), tâches également liées au data mining, au décisionnel et plus générale-ment à l'exploitation du big data.

La deuxième édition de cet ouvrage propose un exposé détaillé et cohérent des algorithmes classiques développés dans ce domaine, abordable par des lecteurs qui cherchent à connaître le mécanisme des outils quotidiens d'Internet. De plus, le lecteur approfondira les concepts d'indexation, de compression, de recherche sur le Web, de classification et de catégorisation, et pourra prolonger cette étude avec les exercices corrigés proposés en fin de chapitre.

Ce livre s'adresse tant aux chercheurs et ingénieurs qui travaillent dans le domaine de l'accès à l'information et employés de PME qui utilisent en profondeur les outils du webmarketing, qu'aux étudiants de Licence, Master, écoles d'ingénieurs ou doctorants qui souhaitent un ouvrage de référence sur la recherche d'information.

Édition : Eyrolles - 294 pages, 2e édition, 3 janvier 2017

ISBN10 : 2212673760 - ISBN13 : 9782212673760

Commandez sur www.amazon.fr :

39.00 € TTC (prix éditeur 39.00 € TTC)
Représentation et indexation
Recherche d'information
Recherche sur le Web
Catégorisation de documents
Partitionnement de documents
Réseaux de neurones profonds
Recherche de thèmes latents
Considérations pratiques
Critique du livre par la rédaction Thibaut Cuvelier le 3 juin 2017
L'exploitation des données, dans toute la généricité des termes employés, est un terme qui revient très régulièrement dans toutes les libraires, avec quantité d'ouvrages sur le sujet. Cependant, fort peu nombreux sont ceux qui traitent du cas très particulier où les données sont textuelles : c'est exactement ce trou que veut combler ce livre. Son titre indique qu'il portera principalement sur la manière de rechercher de l'information utile dans une masse de documents, tel un moteur de recherche. C'est d'ailleurs à ce thème que sont dédiés les premiers chapitres. Les deux auteurs s'ouvrent à des sujets connexes qui traitent de l'exploitation d'une quantité de textes, comme leur classification ou l'extraction de thème latents. On peut regretter que certains mots aient été ajoutés à la couverture sans qu'ils soient réellement traités dans le livre : « data mining », « big data »…

Ces trois cents pages explorent le domaine avec une approche mathématique : les auteurs ne vous présentent pas d'outil-boîte noire à utiliser pour obtenir un résultat sans en comprendre le fonctionnement — ni les hypothèses à poser pour donner des résultats en des temps raisonnables. Les auteurs y passent d'ailleurs un certain temps. Au contraire, l'aspect pratique est relativement délaissé dans l'ouvrage, se concentrant sur les concepts principalement utilisés dans le domaine. Ainsi, contrairement à ce que la quatrième de couverture promet, il ne s'adresse pas tellement à un public de professionnels, mais plutôt d'étudiants et de chercheurs, dont l'objectif est d'atteindre un bon niveau de compréhension du domaine. En cela, le grand nombre de références vers des publications scientifiques de pointe pour approfondir les sujets abordés est une bonne chose. L'ouvrage pourra rester des années dans une bibliothèque sans prendre une ride.

Cependant, après avoir fini la lecture, difficile de mettre en pratique le contenu de l'ouvrage : c'est une chose que l'on peut regretter dans ce livre. Peu d'outils pratiques sont cités : quelques-uns sont égrainés à travers le texte (auquel cas peu de choix est proposé au lecteur), le dernier chapitre se consacre exclusivement à une liste raisonnée de logiciels. Par contre, leur mise en pratique est relativement occultée — à moins que l'on veuille écrire soi-même le code de chacun des algorithmes proposés (ils sont tous détaillés, pas simplement esquissés).

Le sujet est traité de manière relativement exhaustive et progressive, sans précipitation malvenue vers l'un ou l'autre sujet hyper pointu. Quand plusieurs formules sont régulièrement utilisées en pratique, les variantes sont détaillées et justifiées, pour indiquer dans quel cas l'une ou l'autre aura plus de sens. Néanmoins, le style est relativement sec, les auteurs entrent rapidement dans le vif du sujet, sans forcément chercher à justifier le pourquoi du comment. Certaines parties sont structurées au point de mettre d'abord les détails mathématiques, puis quelques utilisations potentielles par après — ce qui aura du mal à accrocher un lecteur qui ne voit pas la vie au travers d'équations. À ce niveau, quelques applications numériques ne feraient pas de mal dans le texte (elles sont rares), car elles aident à bien comprendre la mise en pratique de formules : le lien entre des séries de mots et des suites de chiffres n'est jamais aisé.

Au niveau de la structure globale de l'ouvrage, on peut principalement regretter que l'introduction de l'apprentissage automatique soit si tardive. Certes, cela aide à limiter les prérequis. Cependant, ce choix oblige les auteurs à de vagues formulations indiquant qu'il est possible d'utiliser ce genre d'algorithmes à certains endroits : le niveau de détail est insuffisant pour bien comprendre les tenants et les aboutissants de cette utilisation.

En mode mineur, on peut reprocher à certaines figures d'être relativement peu claires à comprendre. Une bonne partie du contenu du livre se trouve dans les exercices, qui donnent l'impression de ramasser toutes les parties théoriques moins importantes (les auteurs y présentent notamment l'algorithme AdaBoost, plutôt que de l'inclure dans la section sur les algorithmes d'apprentissage). Le chapitre sur les réseaux neuronaux profonds laisse sur sa faim : il présente les concepts essentiels aux réseaux neuronaux tels qu'ils étaient utilisés dans les années 1980 et 1990 (avant leur qualificatif de profond), mais la pratique dans le cadre de la recherche d'information est éclipsée en trois pages.
Critique du livre par la rédaction François DORIN le 18 septembre 2017
Ce livre aborde de nombreux aspects de la recherche d'informations (RI) : la représentation et indexation, la recherche d'informations (que ce soit dans des documents ou sur le web) ou encore la catégorisation de documents ne sont que quelques exemples de sujets abordés. Si ce livre présente les notions de base ainsi que les principaux algorithmes, il n'en reste pas moins très technique et requiert un très bon bagage, notamment mathématique, pour en comprendre toutes les subtilités. Je conseillerais donc sa lecture à un public averti en RI et/ou scientifique (ingénieurs, doctorants, chercheurs…)

Au néophyte dans ce domaine, la première lecture de cet ouvrage offre une vision globale de la RI et des différents aspects sous-jacents, des algorithmes mis en œuvre, des problématiques, etc. Une liste de différents outils open source traitant de la RI se trouve à la fin de l'ouvrage, ainsi qu'une bibliographie qui, si mes connaissances ne me permettent pas d'affirmer qu'elle est complète, a au moins le mérite d'être fournie.

On apprécie grandement la présence de nombreux exercices à la fin de chaque chapitre, permettant de manipuler les différentes notions qui, sans cela, resteraient très abstraites. Les exercices sont bien évidemment corrigés et les explications sont claires.

Un regret malgré tout en ce qui concerne la partie sur les réseaux de neurones. Cette partie me semble bien fade par rapport au reste de l'ouvrage. Les connaissances relatées ne reflètent pas les avancées qui ont été faites ces dernières années dans ce domaine, et l'usage des réseaux de neurones dans le cadre de la RI est survolé en quelques pages seulement, sans véritablement approfondir le sujet.

Pour conclure, ce livre, même s'il présente les notions et algorithmes standard de la RI, est vraiment destiné à un public spécifique et averti.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 04/06/2017 à 13:11
Le premier ouvrage francophone sur les algorithmes qui sous-tendent les technologies de big data et les moteurs de recherche !

Depuis quelques années, de nouveaux modèles et algorithmes sont mis au point pour traiter des données de plus en plus volumineuses et diverses. Cet ouvrage présente les fondements scientifiques des tâches les plus répandues en recherche d'information (Rl), tâches également liées au data mining, au décisionnel et plus générale-ment à l'exploitation du big data.

La deuxième édition de cet ouvrage propose un exposé détaillé et cohérent des algorithmes classiques développés dans ce domaine, abordable par des lecteurs qui cherchent à connaître le mécanisme des outils quotidiens d'Internet. De plus, le lecteur approfondira les concepts d'indexation, de compression, de recherche sur le Web, de classification et de catégorisation, et pourra prolonger cette étude avec les exercices corrigés proposés en fin de chapitre.

Ce livre s'adresse tant aux chercheurs et ingénieurs qui travaillent dans le domaine de l'accès à l'information et employés de PME qui utilisent en profondeur les outils du webmarketing, qu'aux étudiants de Licence, Master, écoles d'ingénieurs ou doctorants qui souhaitent un ouvrage de référence sur la recherche d'information.
Rercherche d'information
Applications, modèles et algorithmes — data mining, décisionnel et big data

 
couverture du livre Apprentissage machine

Note 3 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

Apprentissage machine

De la théorie à la pratique - Concepts fondamentaux en Machine Learning

de
Public visé : Débutant

Résumé de l'éditeur

Apprentissage machine et intelligence artificielle

L'apprentissage machine est l'un des domaines phares de l'intelligence artificielle. Il concerne l'étude et le développement de modèles quantitatifs permettant à un ordinateur d'accomplir des tâches sans qu'il soit explicitement programmé à les faire. Apprendre dans ce contexte revient à reconnaître des formes complexes et à prendre des décisions intelligentes. Compte tenu de toutes les entrées existantes, la complexité pour y arriver réside dans le fait que l'ensemble des décisions possibles est généralement très difficile à énumérer. Les algorithmes en apprentissage machine ont par conséquent été conçus dans le but d'acquérir de la connaissance sur le problème à traiter en se basant sur un ensemble de données limitées issues de ce problème.

Un ouvrage de référence

Cet ouvrage présente les fondements scientifiques de la théorie de l'apprentissage supervisé, les algorithmes les plus répandus développés suivant ce domaine ainsi que les deux cadres de l'apprentissage semi-supervisé et de l'ordonnancement, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Nous avons eu ici le souci de fournir un exposé cohérent reliant la théorie aux algorithmes développés dans cette sphère. Mais cette étude ne se limite pas à présenter ces fondements, vous trouverez ainsi quelques programmes des algorithmes classiques proposés dans ce manuscrit, écrits en langage C (langage à la fois simple et populaire), et à destination des lecteurs qui cherchent à connaître le fonctionnement de ces modèles désignés parfois comme des boîtes noires.

À qui s'adresse ce livre ?

  • Aux élèves ingénieurs, étudiants de master et doctorants en mathématiques appliquées, algorithmique, recherche opérationnelle, gestion de production, aide à la décision.
  • Aux ingénieurs, enseignants-chercheurs, informaticiens, industriels, économistes et décideurs ayant à résoudre des problèmes de classification, de partitionnement et d'ordonnancement à large échelle.

Édition : Eyrolles - 320 pages, 1re édition, 5 février 2015

ISBN10 : 2212138008 - ISBN13 : 9782212138009

Commandez sur www.amazon.fr :

39.00 € TTC (prix éditeur 39.00 € TTC)
  • Introduction à la théorie de l'apprentissage
  • Algorithmes d'optimisation convexe non-contrainte
  • Classification bi-classes
  • Classification multi-classes
  • Apprentissage semi-supervisé
  • Apprentissage de modèles d'ordonnancement
  • Annexes (rappels de probabilités, code programmes)
Critique du livre par la rédaction Thibaut Cuvelier le 8 juillet 2016
La science des données est un mot clé à la mode actuellement, puisque les entreprises cherchent à tirer le meilleur profit des informations enregistrées. L'un de ses principaux outils est l'apprentissage automatique, domaine actuellement aussi en explosion : il attire l'attention et les auteurs. Certains ouvrages ont une vocation purement pratique, en ignorant complètement les détails des algorithmes, ce qui empêche de comprendre ce qui se passe en cas de résultats insatisfaisants. Ce livre ne se place pas dans cette optique : il descend au cœur des méthodes d'apprentissage, avec les détails mathématiques afférents, de telle sorte que ces outils ne soient pas des boîtes noires. En cela, il s'oriente très clairement vers un public de chercheurs dans le domaine, d'utilisateurs conscients de leurs outils.

C'est aussi, probablement, son point faible : les détails mathématiques occultent le reste du contenu. Le formalisme y est poussé très loin, notamment pour s'accrocher autour de l'axe du principe de minimisation du risque empirique : cette organisation confère au document une remarquable cohérence, mais ignore les questions de mise en œuvre. Le titre indique pourtant un voyage de la théorie à la pratique : cette dernière est résumée à l'implémentation (en C, parfois K&R !) des algorithmes. Les traces d'utilisation réelle des algorithmes sont ténues… et nulle trace de motivation par des applications réelles du contenu. En réalité, en opposition avec son titre, le livre se destine, à peu près exclusivement, aux chercheurs, avec une abondance de preuves mathématiques, mais aussi de références vers la littérature.

On peut pointer quelques manques dans l'ouvrage, comme les arbres de décision et leurs multiples variantes comme les forêts aléatoires, mais aussi la régression, qui n'est pas traitée explicitement. Ils ne sont cependant pas gênants, bon nombre d'algorithmes sont déjà au programme (perceptrons, SVM, AdaBoost, par exemple). Par contre, la question de l'évaluation de la qualité d'un modèle généré n'est pas véritablement à l'ordre du jour, sauf dans le chapitre sur l'apprentissage de fonctions d'ordonnancement.

La mise en page est soignée et aide généralement la lecture. Certaines parties du texte sont encadrées, notamment des sections qui mettent en évidence des notions centrales ou qui récapitulent le chapitre. Cependant, les mêmes artéfacts esthétiques sont employés pour des preuves : sont-elles alors mises en avant par rapport au reste du texte ? Ce n'est pas clair.

Globalement, l'ouvrage est complet et axé sur la théorie, difficile d'accès pour des personnes n'ayant pas eu une formation universitaire poussée en mathématiques. Celui qui souhaite se mettre à l'apprentissage automatique dans la pratique en retirera néanmoins quelques avantages, principalement pour la désacralisation des méthodes employées.




 Commenter Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
l 09/07/2016 à 15:40
Apprentissage machine et intelligence artificielle

L'apprentissage machine est l'un des domaines phares de l'intelligence artificielle. Il concerne l'étude et le développement de modèles quantitatifs permettant à un ordinateur d'accomplir des tâches sans qu'il soit explicitement programmé à les faire. Apprendre dans ce contexte revient à reconnaître des formes complexes et à prendre des décisions intelligentes. Compte tenu de toutes les entrées existantes, la complexité pour y arriver réside dans le fait que l'ensemble des décisions possibles est généralement très difficile à énumérer. Les algorithmes en apprentissage machine ont par conséquent été conçus dans le but d'acquérir de la connaissance sur le problème à traiter en se basant sur un ensemble de données limitées issues de ce problème.

Un ouvrage de référence

Cet ouvrage présente les fondements scientifiques de la théorie de l'apprentissage supervisé, les algorithmes les plus répandus développés suivant ce domaine ainsi que les deux cadres de l'apprentissage semi-supervisé et de l'ordonnancement, à un niveau accessible aux étudiants de master et aux élèves ingénieurs. Nous avons eu ici le souci de fournir un exposé cohérent reliant la théorie aux algorithmes développés dans cette sphère. Mais cette étude ne se limite pas à présenter ces fondements, vous trouverez ainsi quelques programmes des algorithmes classiques proposés dans ce manuscrit, écrits en langage C (langage à la fois simple et populaire), et à destination des lecteurs qui cherchent à connaître le fonctionnement de ces modèles désignés parfois comme des boîtes noires.

À qui s'adresse ce livre ?

  • Aux élèves ingénieurs, étudiants de master et doctorants en mathématiques appliquées, algorithmique, recherche opérationnelle, gestion de production, aide à la décision.
  • Aux ingénieurs, enseignants-chercheurs, informaticiens, industriels, économistes et décideurs ayant à résoudre des problèmes de classification, de partitionnement et d'ordonnancement à large échelle.

Apprentissage machine
De la théorie à la pratique - Concepts fondamentaux en Machine Learning

 
couverture du livre Pratique du calcul relationnel

drapeau
Détails du livre
Critiques (0)
 
 

Pratique du calcul relationnel

de
Public visé : Intermédiaire

Résumé de l'éditeur


"Pratique du calcul relationnel" porte un intérêt tout particulier au calcul des relations mathématiques envisagées sous un angle pratique. Cet ouvrage vise à faire ressortir les caractéristiques de propriétés associées aux dites relations selon des contextes d'emploi différenciés.
La notion de relation est présente dans nos actes quotidiens dès lors qu’il y a mise en correspondance ou appariements entre objets, recherche d'analogie ou besoin d'établir des classes d'équivalence ou de connexité...Cette notion est omniprésente dans l'univers de notre discours avec des énoncés fréquents marquant les dépendances, éventuellement des liens de causalité, entre idées ou concepts. Son intérêt se voit également attesté à bien des endroits :
– en mathématique avec le concept d'application, en fait, une généralisation de mises en relation entre différentes variables,
– en logique formelle dans le calcul des prédicats avec les relations prédicatives,
– en logique floue quand par exemple des relations de similarité sont recherchées.
Bien plus que de s'attarder sur les fondamentaux d'une algèbre relationnelle on s'est focalisé dans cet ouvrage sur certains champs applicatifs aussi divers que : la généalogie, les différentes relations d'ordre dans les organisations et processus techniques, les classes propres aux relations, les partitions sur un champ observé, la structuration d'un espace temporel, etc. Des démarches algorithmiques ont également été proposées pouvant se révéler particulièrement intéressantes pour la prise en compte de processus industriels, l'amélioration de la mise en place de structures organisationnelles (recours aux relations de (pré)ordre les mieux adaptées). On a montré enfin comment certaines généralisations permettent de s'accommoder des univers où la connaissance est dite impropre, en ce sens, que les attributs la caractérisant se révèlent être flous (vague, imprécis, indéfinis, etc.).
Cet ouvrage s'adresse aussi bien à l'étudiant, à l'ingénieur mais aussi à l'honnête homme soucieux d'approfondir un point important de la mathématique, en pouvant s'exonérer d'entrer dans des considérations par trop académiques, en raison des illustrations prises dans la vie courante.

Édition : edilivre - 265 pages, 1re édition, 1er février 2016

ISBN10 : 9782332997500 - ISBN13 : 9782332997500

remarquable ouvrage, indispensable pour tout ingénieur et développeur en SGBD

Commandez sur www.amazon.fr :

0.00 € TTC (prix éditeur 47.00 € TTC)
Aucune critique n'a été faite pour l'instant

couverture du livre Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique

drapeau
Détails du livre
Critiques (0)
0 commentaire
 
 

Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique

de
Public visé : Débutant

Résumé de l'éditeur

En Imagerie, dans le cadre professionnel on peut être amené à :
  • superviser des applications, en tant que donneur d'ordres ;
  • concevoir et réaliser des applications, à partir d'opérateurs existants (utilisation d'une bibliothèque) ;
  • concevoir et réaliser des opérateurs de traitement d'image ou de vision, en tant que développeur, de manière à maîtriser
  • l'application dans sa totalité.

Ainsi, après avoir analysé ces trois différents besoins professionnels, le but de cet ouvrage est d'y répondre. Cet ouvrage s'adresse à un large public : du donneur d'ordres au développeur, à partir du niveau premier cycle universitaire (IUT / BTS), avec des connaissances moyennes en programmation (Langage C).

Édition : Lulu.com - 336 pages, 1re édition, 31 mai 2016

ISBN10 : 9781326400569 - ISBN13 : 9781326400569

Commandez sur www.amazon.fr :

0.00 $ TTC (prix éditeur 33.34 $ TTC)
Aucune critique n'a été faite pour l'instant



 Commenter Signaler un problème

Avatar de Francis Walter Francis Walter - Expert éminent sénior https://www.developpez.com
l 02/06/2016 à 20:18
Bonjour,

Je vous présente un livre écrit par Patrick Bonnin intitulé :

Citation Envoyé par Résumé
En Imagerie, dans le cadre professionnel on peut être amené à :
  • superviser des applications, en tant que donneur d'ordres ;
  • concevoir et réaliser des applications, à partir d'opérateurs existants (utilisation d'une bibliothèque) ;
  • concevoir et réaliser des opérateurs de traitement d'image ou de vision, en tant que développeur, de manière à maîtriser
  • l'application dans sa totalité.

Ainsi, après avoir analysé ces trois différents besoins professionnels, le but de cet ouvrage est d'y répondre. Cet ouvrage s'adresse à un large public : du donneur d'ordres au développeur, à partir du niveau premier cycle universitaire (IUT / BTS), avec des connaissances moyennes en programmation (Langage C).

 
couverture du livre Métaheuristiques

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
commentaire
 
 

Métaheuristiques

de
Public visé : Intermédiaire

Résumé de l'éditeur

Les métaheuristiques et leurs applications

Les ingénieurs, les économistes, les décideurs se heurtent quotidiennement, quel que soit leur secteur d'activité, à des problèmes d'optimisation. Il peut s'agir de minimiser un coût de production, d'optimiser le parcours d'un véhicule ou le rendement d'un portefeuille boursier, de rationaliser l'utilisation de ressources, d'améliorer les performances d'un circuit électronique, de fournir une aide à la décision à des managers, etc.

Cet ouvrage présente une famille de techniques d'optimisation, appelées "métaheuristiques", adaptées à la résolution de problèmes pour lesquels il est difficile de trouver un optimum global ou de bons optimums locaux par des méthodes plus classiques.

Un ouvrage de référence illustré d'études de cas

La première partie de l'ouvrage présente les principales métaheuristiques : recuit simulé, recherche avec tabous, recherche à voisinages variables, méthode GRASP, algorithmes évolutionnaires, fourmis artificielles et essaims particulaires.

La deuxième partie décrit différentes variantes et extensions de ces méthodes, ainsi que de nouvelles voies de recherche. Y sont également proposés des conseils méthodologiques : techniques de modélisation, comparaisons de méthodes et choix de la méthode la mieux adaptée à un problème donné. La troisième partie présente trois études de cas réels : optimisation de systèmes logistiques, optimisation de tournées de véhicules et gestion de trafic aérien.

Édition : Eyrolles - 534 pages, 1re édition, 6 mars 2014

ISBN10 : 2212139292 - ISBN13 : 9782212139297

Commandez sur www.amazon.fr :

49.00 € TTC (prix éditeur 49.00 € TTC)
  • Présentation des principales métaheuristiques
    • La méthode du recuit simulé
    • La recherche avec tabous
    • La recherche à voisinages variables
    • Une procédure de recherche itérative en deux phases : la méthode GRASP
    • Les algorithmes évolutionnaires
    • Les fourmis artificielles
    • Les essaims particulaires
  • Variantes, extensions et conseils méthodologiques
    • Quelques autres métaheuristiques
    • Les autres algorithmes d'insectes sociaux
    • Extensions des algorithmes évolutionnaires à l'optimisation multimodale et l'optimisation multi-objectif
    • Extensions des algorithmes évolutionnaires à l'optimisation sous contraintes
    • Techniques de modélisation et comparaison de méthodes
  • Quelques domaines d'application
    • Techniques d'hybridation à base de métaheuristiques pour optimiser des systèmes logistiques
    • Métaheuristiques pour les problèmes de tournées de véhicules
    • Application en gestion du trafic aérien
  • Conclusion
Critique du livre par la rédaction Nicolas Vallée le 1er octobre 2014
Cet ouvrage est destiné à deux publics distincts.
D'un côté, les étudiants ou curieux souhaitant connaître les principales métaheuristiques, leurs faiblesses et les éventuelles mises en garde associées. En cela, cet ouvrage constitue un "survey" assez complet et facile d'accès.
De l'autre côté, cet ouvrage intéressera un public plus expérimenté souhaitant disposer d'un support francophone unique couvrant ce vaste domaine, tout en apportant des exemples d'hybridations réussies pour affronter des cas réels. D'ailleurs, la dernière partie nous plonge dans trois domaines d'application distincts.

L'ouvrage est bien écrit, bien illustré et reste abordable quel que soit le niveau du lecteur. En revanche, ce dernier ne doit pas en attendre des "recettes" prêtes à l'emploi ou du pseudo-code utilisable immédiatement. Tous les algorithmes sont décrits, mais il faudra un certain effort de modélisation du problème et des structures de données avant d'espérer aboutir à un résultat performant.


couverture du livre Recherche d'information - Applications, modèles et algorithmes

Note 4.75 drapeau
Détails du livre
Sommaire
Critiques (2)
0 commentaire
 
 

Recherche d'information - Applications, modèles et algorithmes

de
Public visé : Intermédiaire

Résumé de l'éditeur

Le premier ouvrage francophone sur les algorithmes qui sous-tendent les technologies de big data et les moteurs de recherche !

Depuis quelques années, de nouveaux modèles et algorithmes sont mis au point pour traiter des données de plus en plus volumineuses et diverses. Cet ouvrage présente les fondements scientifiques des tâches les plus répandues en recherche d'information (RI), tâches également liées au data mining, au décisionnel et plus généralement à l'exploitation de big data.

Il propose un exposé cohérent des algorithmes classiques développés dans ce domaine, abordable à des lecteurs qui cherchent à connaître le mécanisme des outils quotidiens d'Internet.

Le lecteur approfondira les concepts d'indexation, de compression, de recherche sur le Web, de classification et de catégorisation, et pourra prolonger cette étude avec les exercices corrigés proposés en fin de chapitre.

Ce livre s'adresse tant aux chercheurs et ingénieurs qui travaillent dans le domaine de l'accès à l'information et employés de PME qui utilisent en profondeur les outils du webmarketing, qu'aux étudiants de Licence, Master, doctorants ou en écoles d'ingénieurs, qui souhaitent un ouvrage de référence sur la recherche d'information.

Édition : Eyrolles - 234 pages, 1re édition, 12 avril 2013

ISBN10 : 2212135327 - ISBN13 : 9782212135329

Commandez sur www.amazon.fr :

37.05 € TTC (prix éditeur 39.00 € TTC) livraison gratuite !
  • Représentation et indexation
  • Recherche d'information
  • Recherche sur le Web
  • Catégorisation de documents
  • Partitionnement de documents
  • Recherche de thèmes latents
  • Considérations pratiques
Critique du livre par la rédaction prenom nom le 7 novembre 2013
Je viens de lire « Recherche d'information - Applications, modèles et algorithmes » de Massih-Reza Amini et de Éric Gaussier.
Ce petit livre traite des algorithmes qui sous-tendent les technologies de big data et les moteurs de recherche. Il fait partie de la collection Algorithmes de l'éditeur Eyrolles et comme tous les ouvrages de cette collection, il est destiné à un public scientifique (chercheurs, ingénieurs).
Dans ce genre d'ouvrage, ce que j'apprécie, c'est le formalisme utilisé. Je ne parle pas seulement des formules mathématiques, mais aussi des définitions de concepts tels qu'indexation, représentation et compression, recherche d'information, classification et partitionnement de documents.
Le livre décrit la chaîne complète d'indexation qui permet de construire l'ensemble du vocabulaire à partir d'une collection de documents ainsi que les algorithmes les plus répandus pour la construction de l'index inversé. Il présente les avantages et inconvénients des modèles de recherche d'information les plus courants : booléen, vectoriel et probabiliste. J'ai bien aimé l'approche des auteurs consistant à expliquer les motivations à l'origine de la conception des nouveaux modèles.
J'ai également trouvé intéressant le chapitre dédié à la recherche sur le Web et les pages en fin d'ouvrage relatives aux logiciels libres de recherche d'information, de catégorisation et de partitionnement.
En conclusion, c'est un livre que je recommande à ceux qui sont intéressés par le sujet s'ils font partie du public visé.
Critique du livre par la rédaction stoyak le 21 mai 2014
Je viens de finir la lecture de "Recherche d'information - Applications, modèles et algorithmes" de Massih-Reza Amini et Eric Gaussier.
Les auteurs proposent d'expliquer les fondements scientifiques de la recherche d'information et détaillent les algorithmes classiques sur lesquels sont basés les moteurs de recherche que nous utilisons chaque jour !
L'ensemble des concepts sont présentés (indexation, représentation et compression, classification et positionnement).

Un livre très intéressant mais à réserver à un public averti, même si les auteurs cherchent à rendre le sujet abordable ! Il comprend de nombreuses formules mathématiques (difficile pour ceux qui n'ont plus l'habitude !), de nombreux schémas et la définition très pointue de nombreux concepts. Et il est en français !
L'un des intérêts de ce livre est de proposer des exercices (corrigés !) après chaque chapitre. Cela permet au lecteur de valider ses acquis au fur et à mesure de la lecture. Par contre, il
est conseillé d'avoir "quelques" bases en statistique pour faciliter la compréhension.
Un chapitre est dédié à la recherche d'information sur le Web : il détaille le fonctionnement des robots d'indexation et le PageRank. Vous ne surferez plus bêtement !

Petit plus par rapport à d'autres livres ? Le chapitre sur les logiciels open source. Quelques uns sont décrits plus spécifiquement, en précisant le langage, la licence et le site.Vous pourrez ainsi passer à la pratique !

Pour conclure ? Un bon livre francophone pour aborder les notions fondamentales de la recherche d'information, les algorithmes de moteurs de recherche et les technologies de big data. A réserver toutefois à un public
scientifique (ingénieurs et chercheurs), aux utilisateurs des outils de Webmarketing, aux passionnés de la fouille de données... Avec des connaissances en statistique !




 Commenter Signaler un problème

Avatar de benwit benwit - Rédacteur https://www.developpez.com
l 10/11/2013 à 9:17
Bonjour,

Je viens de lire le livre : "Recherche d'information - Applications, modèles et algorithmes" de Massih-Reza Amini et Éric Gaussier.
J'ai posté une note de lecture à cette adresse https://algo.developpez.com/livres/?...L9782212135329


Connaissez-vous ce livre ?
L'avez vous lu ?
Pensez vous le lire ?

 
couverture du livre Apprentissage artificiel

Note 4 drapeau
Détails du livre
Sommaire
Critiques (1)
7 commentaires
 
 

Apprentissage artificiel

Concepts et algorithmes

de
Public visé : Expert

Résumé de l'éditeur

Les programmes d'intelligence artificielle sont aujourd'hui capables de reconnaître des commandes vocales, d'analyser automatiquement des photos satellites, d'assister des experts pour prendre des décisions dans des environnements complexes et évolutifs (analyse de marchés financiers, diagnostics médicaux...), de fouiller d'immenses bases de données hétérogènes, telles les innombrables pages du Web... Pour réaliser ces tâches, ils sont dotés de modules d'apprentissage leur permettant d'adapter leur comportement à des situations jamais rencontrées, ou d'extraire des lois à partir de bases de données d'exemples. Ce livre présente les concepts qui sous-tendent l'apprentissage artificiel, les algorithmes qui en découlent et certaines de leurs applications. Son objectif est de décrire un ensemble d'algorithmes utiles en tentant d'établir un cadre théorique pour l'ensemble des techniques regroupées sous ce terme " d'apprentissage artificiel ". Ce livre s'adresse tant aux décideurs et aux ingénieurs qui souhaitent mettre au point des applications qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs, qui souhaitent un ouvrage de référence sur ce domaine clé de l'intelligence artificielle.

Édition : Eyrolles - 803 pages, 2e édition, 1er juin 2010

ISBN10 : 2212124716 - ISBN13 : 9782212124712

23 x 17 x 5 cm

Commandez sur www.amazon.fr :

52.92 € TTC (prix éditeur 55.07 € TTC) livraison gratuite !
  • Les fondements de l'apprentissage
    (list]
  • Première approche théorique de l'induction
  • Environnement méthodologique
[*]Apprentissage par exploration
  • Induction et relation d'ordre
  • Programmation logique inductive
  • Inférence grammaticale
  • Apprentissage par évolution
[*]Apprentissage par optimisation
  • Surfaces séparatrices linéaires
  • Réseaux connexionistes
  • Réseaux bayésiens
  • Modèles de Markov cachés
[*]Apprentissage par approximation et interpolation
(list][*]Classification non supervisée[*]Apprentissage par renforcement[/list][*]Annexes et bibliographie[/list]
Critique du livre par la rédaction nico-pyright(c) le 1er mai 2013
Un livre de référence mais pour un public précis.
Ouch ! C'est la première impression quand on tient le livre entre les mains. Beaucoup de pages (plus de 800) et puis il pèse son poids. Ensuite, si on feuillette un peu le livre, on se rend compte qu'il y a beaucoup de texte, mais également beaucoup de formules mathématiques.
En effet, ce livre se veut être une référence dans le domaine de l'apprentissage artificiel, mais il est en fait plutôt dédié aux étudiants qui cherchent un complément de cours ou aux chercheurs qui ont besoin d'une bonne compilation de tout ce qui existe dans le domaine. Par contre, il est inaccessible aux professionnels qui cherchent un peu à savoir comment tout cela fonctionne.
L'approche est très théorique, voire très (trop ?) mathématique. En revanche, elle a l'avantage de bien poser toutes les bases et d'ouvrir la réflexion sur l'apprentissage à un niveau presque philosophique.
Cependant, il y a tout dedans. Ecrit par des pointures du domaine, cet ouvrage constitue une bible à lire et à relire. Les exemples sont assez compréhensibles et appliqués à des domaines proches de nous.
On regrettera le manque d'applications pratiques et quelques codes sources auraient été les bienvenus.




 Commenter Signaler un problème

Avatar de bertry bertry - Membre éclairé https://www.developpez.com
l 06/07/2013 à 18:19
Vous trouverez ci-joint une première version de l'errata de ce livre
Avatar de nico-pyright(c) nico-pyright(c) - Rédacteur https://www.developpez.com
l 01/07/2013 à 11:04
Bonjour,

j'ai lu l'ouvrage Apprentissage artificiel - Concepts et algorithmes


Résumé de l'éditeur :
Les programmes d'intelligence artificielle sont aujourd'hui capables de reconnaître des commandes vocales, d'analyser automatiquement des photos satellites, d'assister des experts pour prendre des décisions dans des environnements complexes et évolutifs (analyse de marchés financiers, diagnostics médicaux...), de fouiller d'immenses bases de données hétérogènes, telles les innombrables pages du Web... Pour réaliser ces tâches, ils sont dotés de modules d'apprentissage leur permettant d'adapter leur comportement à des situations jamais rencontrées, ou d'extraire des lois à partir de bases de données d'exemples. Ce livre présente les concepts qui sous-tendent l'apprentissage artificiel, les algorithmes qui en découlent et certaines de leurs applications. Son objectif est de décrire un ensemble d'algorithmes utiles en tentant d'établir un cadre théorique pour l'ensemble des techniques regroupées sous ce terme " d'apprentissage artificiel ". Ce livre s'adresse tant aux décideurs et aux ingénieurs qui souhaitent mettre au point des applications qu'aux étudiants de niveau Master 1 et 2 et en école d'ingénieurs, qui souhaitent un ouvrage de référence sur ce domaine clé de l'intelligence artificielle.
Ma critique :
Un livre de référence mais pour un public précis.
Ouch ! C'est la première impression quand on tient le livre entre les mains. Beaucoup de pages (plus de 800) et puis il pèse son poids. Ensuite, si on feuillette un peu le livre, on se rend compte qu'il y a beaucoup de texte, mais également beaucoup de formules mathématiques.
En effet, ce livre se veut être une référence dans le domaine de l'apprentissage artificiel, mais il est en fait plutôt dédié aux étudiants qui cherchent un complément de cours ou aux chercheurs qui ont besoin d'une bonne compilation de tout ce qui existe dans le domaine. Par contre, il est inaccessible aux professionnels qui cherchent un peu à savoir comment tout cela fonctionne.
L'approche est très théorique, voire très (trop ?) mathématique. En revanche, elle a l'avantage de bien poser toutes les bases et d'ouvrir la réflexion sur l'apprentissage à un niveau presque philosophique.
Cependant, il y a tout dedans. Ecrit par des pointures du domaine, cet ouvrage constitue une bible à lire et à relire. Les exemples sont assez compréhensibles et appliqués à des domaines proches de nous.
On regrettera le manque d'applications pratiques et quelques codes sources auraient été les bienvenus.
L'avez-vous lu? Comptez-vous le lire bientôt?

Quel est votre avis?
Avatar de bertry bertry - Membre éclairé https://www.developpez.com
l 01/07/2013 à 17:36
Salut à tous,

J'ai eu l'occasion d'utiliser cet ouvrage, il est en effet très théorique et totalement inadapté pour une application pratique immédiate. Cet ouvrage est plus destiné à compléter un cours ou des connaissances par des bases solides qu'a un apprentissage à partir de zéro.

Sur un ouvrage de référence tel que celui-ci, une chose m'a beaucoup dérangé (J'en ai déjà parlé ici et je recommence):
J'ai utilisé en particulier (dans la deuxième édition) le chapitre 12: L'apprentissage de modèle de Markov cachés; j'y ai trouvé de nombreuses erreurs:
  • Dans les formules mathématiques (fautes de frappe, disparition de caractères ou de fin d'équation, et parfois tout ça dans une même ligne )
  • Dans les algorithmes (la fin de certaines lignes est absente, des valeurs de fin de boucle sont fausses)
  • Dans les valeurs numériques des exemples (De nombreux résultats sont totalement faux!!)

Pire encore: J'ai également eu l'occasion de consulter la première édition de ce livre. Non seulement la plupart des erreurs que j'ai trouvé dans la deuxième édition étaient déjà présentes dans la première édition, mais des erreurs supplémentaires sont apparues dans la deuxième édition!!!
J'avais cherché à l'époque un moyen de faire remonter l'info à l'éditeur, mais je n'y était pas parvenu...

Les autres chapitres que j'ai pu utiliser semblaient corrects.

 
couverture du livre Algorithmique

Note 5 drapeau
Détails du livre
Sommaire
Critiques (2)
27 commentaires
 
 

Algorithmique

Cours avec 957 exercices et 158 problèmes

de
Public visé : Intermédiaire

Résumé de l'éditeur

Introduction complète à l'algorithmique, cette 3ème édition, révisée et mise à jour, comporte deux nouveaux chapitres, l'un sur les arbres de Van Emde Boas et l'autre sur les algorithmes multithreads. Plusieurs nouveaux énoncés d'exercices et de problèmes ont été ajoutés. Au total, plus de 920 exercices et 140 problèmes sont proposés. Cet ouvrage s'est aujourd'hui imposé comme une référence mondiale pour l'enseignement de l'algorithmique. Exhaustif et facile d'accès c'est un outil de travail complet et indispensable pour les étudiants et les professionnels de l'informatique.

L'éventail des algorithmes étudiés va des plus classiques, comme les algorithmes de tri et les fonctions de hachage, aux plus récents, comme ceux de la cryptographie, permettant ainsi de passer progressivement des notions élémentaires aux thèmes les plus pointus.

Les algorithmes sont rédigés en français et dans un pseudo-code proche des langages Pascal, C et Fortran. Ils sont analysés en profondeur et toujours complétés par des preuves mathématiques. De nombreux exemples, figures, études de cas et exercices de difficulté graduée viennent compléter les explications. Au total ce sont les énoncés de plus de 955 exercices et 155 problèmes qui sont proposés. Les solutions de 80 d'entre eux sont accessibles en ligne

Édition : Dunod - 1296 pages, 3e édition, 23 juin 2010

ISBN10 : 2100545264 - ISBN13 : 9782100545261

Commandez sur www.amazon.fr :

56.91 € TTC (prix éditeur 59.09 € TTC)
  • Introduction.
    • Rôle des algorithmes en informatique
    • Premier pas
    • Croissance des fonctions
    • Diviser pour régner
    • Analyse probabilistique et algorithmes randomisés
  • Tris et rangs.
    • Tri par tas
    • Tri rapide
    • Tri en temps linéaire
    • Médians et rangs
  • Structures de données.
    (list]
  • Structures de données élémentaires
  • Tables de hachage
  • Arbres binaires de recherche
  • Arbres rouge-noir
  • Extension des structures de données
[*]Techniques avancées de conception et d'analyse.
  • Programmation dynamique
  • Algorithmes gloutons
  • Analyse amortie
[*]Structures de données avancées.
  • B-Arbres
  • Tas de fibonacci
  • Arbres de van emde boas
  • Structures de données pour ensembles disjoints
[*]Algorithmes pour les graphes.
  • Algorithmes élémentaires pour les graphes
  • Arbres couvrants minimaux
  • Plus courts chemins à origine unique
  • Plus courts chemins entre toutes paire de sommets
  • Flot maximum
[*]Morceaux choisis.
(list][*]Algorithmes multithread[*]Calcul matriciel[*]Programmation linéaire[*]Polynômes et transformée de fourier rapide[*]Algorithmes de la théorie des nombres[*]Recherche de chaînes de caractères[*]Géométrie algorithmique[*]NP-complétude[*]Algorithmes d'approximation[/list][*]Annexes - Elément de mathématiques.
  • Sommes
  • Ensembles
  • Dénombrement et probabilités
  • Matrices
[/list]
Critique du livre par la rédaction prenom nom le 1er août 2011
L'algorithmique est au cœur de l'informatique et si vous souhaitez écrire des programmes, vous devez comprendre ses principes fondamentaux et connaître ses éléments de base. Il existe de multiples ouvrages sur le sujet et il n'est pas toujours évident de trouver celui qui vous conviendra. S'il est trop simple, vous en aurez vite fait le tour et comme pour les jeux faciles, son espérance de vie sera brève. S'il est plus riche, il vous sera profitable plus longtemps mais il ne faut pas pour autant que cela soit fait aux dépends de son accessibilité.

Ne cherchez plus, le livre "Algorithmique" de Cormen, Leiserson, Rivest et Stein est la référence en matière d'algorithmique.
Même si la discipline évolue, vous pouvez investir car c'est le genre d'ouvrage qui ne "vieillit" pas. Certes, c'est la troisième édition, mais quand on sait que c'est à raison d'une nouvelle édition tous les huit ans et que la refonte consiste principalement à améliorer la pédagogie, on ne peut qu'apprécier.
Ce livre est un pavé de 1200 pages et s'il a été vendu à plus de 20 000 exemplaires, ce n'est pas étonnant car il s'adresse à un public très large.

  • Les enseignants de deuxième et troisième cycle d'université trouveront un matériel de qualité pour la préparation de leurs cours ainsi que de nombreuses références bibliographiques.
  • Les étudiants trouveront un support de cours, des exercices et des problèmes complémentaires.
  • Les professionnels quant à eux pourront se référer aux sujets qui les intéressent et s'il existe de nombreuses librairies implémentant les principaux algorithmes dans plusieurs langages, il peut être utile de se rappeler les différents choix possibles.


On ne lit pas ce genre d'ouvrage comme un roman. Toutefois, les chapitres étant relativement indépendants entre eux, j'ai trouvé leur lecture agréable et très progressive. Ils commencent généralement par une problématique bien exposée, suivie de propositions qui s'enrichissent au fur et à mesure. Des schémas viennent illustrer la dynamique de l'algorithme étudié et des preuves mathématiques apportent de la rigueur. Enfin, des exercices connexes nous encouragent à poursuivre l'étude.

À ce sujet, notons des exigences contradictoires. D'un côté, des lecteurs qui souhaitent des solutions aux exercices. D'un autre, des enseignants qui savent que la présence de solutions n'encourage pas forcément la recherche. Les auteurs ont tranché en proposant en ligne la correction de seulement 10 % des exercices. Il est probable que ceux qui bloquent sur des problèmes leur reprocheront ce choix.

Certains reprocheront également la nouvelle syntaxe du pseudo-code (affectation avec = et comparaison avec ==) inspirée des principaux langages (C, C++, Java). Personnellement, cela ne m'a pas dérangé, et avec la suppression des mots superflus (faire, alors), je trouve le pseudo-code plus clair. En revanche, je me suis étonné de l'utilisation du français dans le pseudo-code à l'heure des langages de développement majoritairement anglophones. Finalement, ce choix se comprend pour un ouvrage didactique destiné à un public francophone.
En conclusion, je pense que tout développeur devrait avoir ce livre dans sa bibliothèque.
Critique du livre par la rédaction Nicolas Vallée le 1er août 2011
L'algorithmique est un prérequis indispensable à la modélisation de programmes informatiques effectuant des traitements non triviaux ou dont les ordres de grandeur dépasse les limites de ce qui est négligeable du point de vue temps machine ou consommation mémoire.

Pourtant, en plus d'être une discipline à part entière, l'algorithmique impacte également d'autres domaines informatiques. Chaque domaine a ses méthodes clés, associées à des structures de données particulières. Pourtant derrière ses spécificités se cachent souvent des situations plus générales, partie intégrante de l'algorithmique. Les connaissances à acquérir sont vastes et nécessitent parfois l'acquisition de différents ouvrages.

Par chance, un ouvrage tente de concentrer en un millier de pages l'ensemble de ces connaissances générales, afin de répondre aux besoins de la plupart des développeurs. Il s'agit du CLR(S) désormais disponible dans sa troisième édition. Cet ouvrage est un investissement utile, rien que pour tous les rappels que vous trouverez. Il est également utile pour des étudiants en informatique, qui y trouveront pédagogie et de nombreux exercices (tous ne sont pas corrigés par choix des auteurs).

Le seul défaut est la qualité "papier bible" assez surprenante... à manipuler avec précaution




 Commenter Signaler un problème

Avatar de Djug Djug - Expert éminent sénior https://www.developpez.com
l 17/08/2011 à 11:34
Bonjour,

La rédaction de DVP a lu pour vous l'ouvrage suivant:
Algorithmique -Cours avec 957 exercices et 158 problèmes, de Thomas Cormen, Charles Leiserson, Ronald Rivest, Clifford Stein




RÉSUMÉ DE L'ÉDITEUR

Introduction complète à l'algorithmique, cette 3ème édition, révisée et mise à jour, comporte deux nouveaux chapitres, l'un sur les arbres de Van Emde Boas et l'autre sur les algorithmes multithreads. Plusieurs nouveaux énoncés d'exercices et de problèmes ont été ajoutés. Au total, plus de 920 exercices et 140 problèmes sont proposés. Cet ouvrage s'est aujourd'hui imposé comme une référence mondiale pour l'enseignement de l'algorithmique. Exhaustif et facile d'accès c'est un outil de travail complet et indispensable pour les étudiants et les professionnels de l'informatique.

L'éventail des algorithmes étudiés va des plus classiques, comme les algorithmes de tri et les fonctions de hachage, aux plus récents, comme ceux de la cryptographie, permettant ainsi de passer progressivement des notions élémentaires aux thèmes les plus pointus.

Les algorithmes sont rédigés en français et dans un pseudo-code proche des langages Pascal, C et Fortran. Ils sont analysés en profondeur et toujours complétés par des preuves mathématiques. De nombreux exemples, figures, études de cas et exercices de difficulté graduée viennent compléter les explications. Au total ce sont les énoncés de plus de 955 exercices et 155 problèmes qui sont proposés. Les solutions de 80 d'entre eux sont accessibles en ligne
L'avez-vous lu? Comptez-vous le lire bientôt?

Quel est votre avis?

Voir aussi les cours et tutoriels algorithmique : http://algo.developpez.com/cours/
Avatar de Franck Dernoncourt Franck Dernoncourt - Membre émérite https://www.developpez.com
l 17/08/2011 à 19:30
Effectivement ce livre est incontournable pour quiconque voulant comprendre l'algorithmique. Beaucoup de questions posées sur ce forum (sur la complexité notamment) y ont d'ailleurs leur réponse.

Quelques précisions concernant la critique :

Citation Envoyé par Benwit
Vendu à plus de 20 000 exemplaires
Ca c'est pour la version française, la version anglaise en est à 500,000 (toutes versions confondues) en 20 ans, annonce fêtée il y a justement une semaine : Milestone for MIT Press’s bestseller.

Citation Envoyé par Benwit
Il est probable que ceux qui bloquent sur des problèmes leur reprocheront ce choix.
Le manuel des solutions de la seconde version est disponible en ligne (je remercie celui qui a pris le temps de le faire car personnellement je n'apprécie vraiment pas les exercices non corrigés). Je n'ai pas encore lu la troisième version, mais probablement la plupart des exercices sont les mêmes (Benwit, confirmes-tu ?).

Citation Envoyé par Benwit
Je me suis étonné de l'utilisation du français dans le pseudo-code à l'heure des langages de développement majoritairement anglophones. Finalement, ce choix se comprend pour un ouvrage didactique destiné à un public francophone.
Je lis rarement des ouvrages informatiques en français, mais cela ne me choque pas... je dirais que tu l'as bien mérité
Avatar de Franck Dernoncourt Franck Dernoncourt - Membre émérite https://www.developpez.com
l 13/03/2012 à 0:28
J'ai rapidement cherché s'il existait un site recensant toutes les implémentations, j'ai trouvé deux initiatives en python (http://code.google.com/p/introductio...to-algorithms/) et C++ (http://clr.sourceforge.net/) mais aucun code dessus
Si quelqu'un trouve, partager le lien svp !

Au passage si cela intéresse quelqu'un, voici le sommaire détaillé :

Introduction to Algorithms - 3rd Edition

Author: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
ISBN: ISBN 978-0-262-03384-8 (hardcover : alk. paper) - ISBN 978-0-262-53305-8 (pbk. : alk. paper)
Format: PDF
Pages: 1313
Publisher: The MIT Press
Pub. Date: 2009

::Description::

I Foundations
	
	Introduction 3

	1 The Role of Algorithms in Computing 5
	1.1 Algorithms 5
	1.2 Algorithms as a technology 11
	
	2 Getting Started 16
	2.1 Insertion sort 16
	2.2 Analyzing algorithms 23
	2.3 Designing algorithms 29
	
	3 Growth of Functions 43
	3.1 Asymptotic notation 43
	3.2 Standard notations and common functions 53
	
	4 Divide-and-Conquer 65
	4.1 The maximum-subarray problem 68
	4.2 Strassen’s algorithm for matrix multiplication 75
	4.3 The substitution method for solving recurrences 83
	4.4 The recursion-tree method for solving recurrences 88
	4.5 The master method for solving recurrences 93
	4.6 Proof of the master theorem 97
	
	5 Probabilistic Analysis and Randomized Algorithms 114
	5.1 The hiring problem 114
	5.2 Indicator random variables 118
	5.3 Randomized algorithms 122
	5.4 Probabilistic analysis and further uses of indicator random variables 130


II Sorting and Order Statistics
	Introduction 147

	6 Heapsort 151
	6.1 Heaps 151
	6.2 Maintaining the heap property 154
	6.3 Building a heap 156
	6.4 The heapsort algorithm 159
	6.5 Priority queues 162

	7 Quicksort 170
	7.1 Description of quicksort 170
	7.2 Performance of quicksort 174
	7.3 A randomized version of quicksort 179
	7.4 Analysis of quicksort 180

	8 Sorting in Linear Time 191
	8.1 Lower bounds for sorting 191
	8.2 Counting sort 194
	8.3 Radix sort 197
	8.4 Bucket sort 200

	9 Medians and Order Statistics 213
	9.1 Minimum and maximum 214
	9.2 Selection in expected linear time 215
	9.3 Selection in worst-case linear time 220


III Data Structures
	Introduction 229

	10 Elementary Data Structures 232
	10.1 Stacks and queues 232
	10.2 Linked lists 236
	10.3 Implementing pointers and objects 241
	10.4 Representing rooted trees 246

	11 Hash Tables 253
	11.1 Direct-address tables 254
	11.2 Hash tables 256
	11.3 Hash functions 262
	11.4 Open addressing 269
	11.5 Perfect hashing 277

	12 Binary Search Trees 286
	12.1 What is a binary search tree? 286
	12.2 Querying a binary search tree 289
	12.3 Insertion and deletion 294
	12.4 Randomly built binary search trees 299

	13 Red-Black Trees 308
	13.1 Properties of red-black trees 308
	13.2 Rotations 312
	13.3 Insertion 315
	13.4 Deletion 323

	14 Augmenting Data Structures 339
	14.1 Dynamic order statistics 339
	14.2 How to augment a data structure 345
	14.3 Interval trees 348


IV Advanced Design and Analysis Techniques
	Introduction 357

	15 Dynamic Programming 359
	15.1 Rod cutting 360
	15.2 Matrix-chain multiplication 370
	15.3 Elements of dynamic programming 378
	15.4 Longest common subsequence 390
	15.5 Optimal binary search trees 397

	16 Greedy Algorithms 414
	16.1 An activity-selection problem 415
	16.2 Elements of the greedy strategy 423
	16.3 Huffman codes 428
	16.4 Matroids and greedy methods 437
	16.5 A task-scheduling problem as a matroid 443

	17 Amortized Analysis 451
	17.1 Aggregate analysis 452
	17.2 The accounting method 456
	17.3 The potential method 459
	17.4 Dynamic tables 463


V Advanced Data Structures
	Introduction 481

	18 B-Trees 484
	18.1 Definition of B-trees 488
	18.2 Basic operations on B-trees 491
	18.3 Deleting a key from a B-tree 499

	19 Fibonacci Heaps 505
	19.1 Structure of Fibonacci heaps 507
	19.2 Mergeable-heap operations 510
	19.3 Decreasing a key and deleting a node 518
	19.4 Bounding the maximum degree 523

	20 van Emde Boas Trees 531
	20.1 Preliminary approaches 532
	20.2 A recursive structure 536
	20.3 The van Emde Boas tree 545

	21 Data Structures for Disjoint Sets 561
	21.1 Disjoint-set operations 561
	21.2 Linked-list representation of disjoint sets 564
	21.3 Disjoint-set forests 568
	21.4 Analysis of union by rank with path compression 573


VI Graph Algorithms
	Introduction 587

	22 Elementary Graph Algorithms 589
	22.1 Representations of graphs 589
	22.2 Breadth-first search 594
	22.3 Depth-first search 603
	22.4 Topological sort 612
	22.5 Strongly connected components 615

	23 Minimum Spanning Trees 624
	23.1 Growing a minimum spanning tree 625
	23.2 The algorithms of Kruskal and Prim 631
	24 Single-Source Shortest Paths 643
	24.1 The Bellman-Ford algorithm 651
	24.2 Single-source shortest paths in directed acyclic graphs 655
	24.3 Dijkstra’s algorithm 658
	24.4 Difference constraints and shortest paths 664
	24.5 Proofs of shortest-paths properties 671

	25 All-Pairs Shortest Paths 684
	25.1 Shortest paths and matrix multiplication 686
	25.2 The Floyd-Warshall algorithm 693
	25.3 Johnson’s algorithm for sparse graphs 700

	26 Maximum Flow 708
	26.1 Flow networks 709
	26.2 The Ford-Fulkerson method 714
	26.3 Maximum bipartite matching 732
	26.4 Push-relabel algorithms 736
	26.5 The relabel-to-front algorithm 748


VII Selected Topics
	Introduction 769

	27 Multithreaded Algorithms 772
	27.1 The basics of dynamic multithreading 774
	27.2 Multithreaded matrix multiplication 792
	27.3 Multithreaded merge sort 797

	28 Matrix Operations 813
	28.1 Solving systems of linear equations 813
	28.2 Inverting matrices 827
	28.3 Symmetric positive-definite matrices and least-squares approximation 832

	29 Linear Programming 843
	29.1 Standard and slack forms 850
	29.2 Formulating problems as linear programs 859
	29.3 The simplex algorithm 864
	29.4 Duality 879
	29.5 The initial basic feasible solution 886

	30 Polynomials and the FFT 898
	30.1 Representing polynomials 900
	30.2 The DFT and FFT 906
	30.3 Efficient FFT implementations 915

	31 Number-Theoretic Algorithms 926
	31.1 Elementary number-theoretic notions 927
	31.2 Greatest common divisor 933
	31.3 Modular arithmetic 939
	31.4 Solving modular linear equations 946
	31.5 The Chinese remainder theorem 950
	31.6 Powers of an element 954
	31.7 The RSA public-key cryptosystem 958
	31.8 Primality testing 965
	31.9 Integer factorization 975

	32 String Matching 985
	32.1 The naive string-matching algorithm 988
	32.2 The Rabin-Karp algorithm 990
	32.3 String matching with finite automata 995
	32.4 The Knuth-Morris-Pratt algorithm 1002

	33 Computational Geometry 1014
	33.1 Line-segment properties 1015
	33.2 Determining whether any pair of segments intersects 1021
	33.3 Finding the convex hull 1029
	33.4 Finding the closest pair of points 1039

	34 NP-Completeness 1048
	34.1 Polynomial time 1053
	34.2 Polynomial-time verification 1061
	34.3 NP-completeness and reducibility 1067
	34.4 NP-completeness proofs 1078
	34.5 NP-complete problems 1086

	35 Approximation Algorithms 1106
	35.1 The vertex-cover problem 1108
	35.2 The traveling-salesman problem 1111
	35.3 The set-covering problem 1117
	35.4 Randomization and linear programming 1123
	35.5 The subset-sum problem 1128


VIII Appendix: Mathematical Background
	Introduction 1143

	A Summations 1145
	A.1 Summation formulas and properties 1145
	A.2 Bounding summations 1149

	B Sets, Etc. 1158
	B.1 Sets 1158
	B.2 Relations 1163
	B.3 Functions 1166
	B.4 Graphs 1168
	B.5 Trees 1173

	C Counting and Probability 1183
	C.1 Counting 1183
	C.2 Probability 1189
	C.3 Discrete random variables 1196
	C.4 The geometric and binomial distributions 1201
	? C.5 The tails of the binomial distribution 1208

	D Matrices 1217
	D.1 Matrices and matrix operations 1217
	D.2 Basic matrix properties 1222

	Bibliography 1231

	Index 1251
couverture du livre Intelligence artificielle

Note 5 drapeau
Détails du livre
Sommaire
Critiques (2)
8 commentaires
 
 

Intelligence artificielle

de
Public visé : Intermédiaire

Résumé de l'éditeur

Écrit par les experts de renommée mondiale, ce livre est la référence incontournable en matière d'intelligence artificielle (IA) dont il présente et analyse tous les concepts : logique, probabilités, mathématiques discrètes et du continu, perception, raisonnement, apprentissage, prise de décision et action.

Sa spécificité est de présenter l'IA à travers le concept des agents intelligents. Les auteurs exposent comment un système réussit à percevoir son environnement de manière à analyser ce qu'il s'y passe, et comment il transforme la perception qu'il a de son environnement en actions concrètes.

Parmi les sujets couverts :

- les contributions historiques des mathématiques, de la théorie des jeux, de l'économie, de la théorie des probabilités, de la psychologie, de la linguistique et des neurosciences ;
- les méthodes qui permettent de prendre des décisions lors de l'établissement d'un projet, en tenant compte des étapes à venir ;
- les différentes manières de représenter formellement les connaissances relatives au monde qui nous entoure ainsi que le raisonnement logique fondé sur ces connaissances ;
- les méthodes de raisonnement qui permettent d'établir des plans et donc de proposer des actions à entreprendre ;
- la prise de décisions en environnement incertain : réseaux bayésiens et algorithmes tels que l'élimination de variables et MCMC (Markov Chain Monte-Carlo) ;
- les méthodes employées pour générer les connaissances exigées par les composants de prise de décision : les algorithmes de boosting, l'algorithme EM (expectation-minimization), l'apprentissage à base d'exemples et les méthodes à noyaux (machines à vecteurs support) ;
- les implications philosophiques et éthiques de l'IA.
Chaque chapitre est illustré par de nombreux exemples et s'achève par des activités, qui vont des exercices de réflexion à des exercices de programmation, en passant par l'approfondissement des méthodes décrites, soit plus de 500 activités au total.

Cette 3e édition tient compte des derniers développements de la matière, concernant notamment les représentations qu'un agent peut utiliser (atomique, factorisée, structurée), les environnements partiellement observables et non déterministes, les planifications contingente et hiérarchique, les modèles probabilistes du premier ordre, l'apprentissage automatique, la recherche et l'extraction d'information sur le web et l'apprentissage à partir de très grandes bases de données.

Édition : Pearson Education - 1200 pages, 3e édition, 10 décembre 2010

ISBN10 : 2744074551 - ISBN13 : 9782744074554

Commandez sur www.amazon.fr :

68.04 € TTC (prix éditeur 68.04 € TTC)
I Intelligence artificielle
01. Introduction
02. Agents intelligents
II Résolution de problèmes
03. Résolution de problèmes par l'exploration
04. Au-delà de l'exploration classique
05. Exploration en situation d'adversité
06. Problèmes à satisfaction de contraintes
III Connaissances, raisonnement et planification
07. Agents logiques
08. Logique du premier ordre
09. L'inférence en logique du premier ordre
10. Planification classique
11. Planification et action dans le monde réel
12. Représentation des connaissances
IV Connaître et penser l'incertain
13. Quantification de l'incertitude
14. Raisonnement probabiliste
15. Raisonnement probabiliste temporel
16. Prises de décisions simples
17. Prises de décisions complexes
V Apprentissage
18. Apprendre à partir d'exemples
19. Connaissances et apprentissage
20. Apprentissage de modèles probabilistes
21. Apprentissage par renforcement
VI Communication, perception et action
22. Traitement du langage naturel
23. Langage naturel et communication
24. Perception
25. Robotique
26. Fondements philosophiques
27. IA : le présent et le futur
A. Rappels mathématiques
B. Notes sur les langages et les algorithmes
Critique du livre par la rédaction Julien Plu le 1er octobre 2011
Ce livre est le meilleure livre que j'ai pu lire sur le sujet de l'intelligence artificielle. Il aborde toutes les facettes de ce domaine avec des sujets d'actualités, ainsi en lisant ce livre on peut être au courant des problèmes et des solutions aux problèmes actuels. Les 500 exercices fournis vous aideront beaucoup à la compréhension des diverses leçons.
Malgré tout, un bon niveau en mathématique et en algorithmique est fort conseillé mais pas obligatoire. Cela vous permettra de mieux comprendre les algorithmes et les formules mathématiques données dans ce livre.
Autre bon côté de ce livre, contrairement à certains de ses concurrents, il n'utilise pas de langage de programmation précis, tous les algorithmes sont écrits en pseudo-code. Ainsi tout le monde peut les implémenter dans le langage qu'il souhaite, car il ne privilégie pas les amateurs de tel ou tel langage de programmation. Malgré tout, les auteurs proposent sur leur dépôt en ligne l'implémentation des algorithmes dans quelques langages comme Java, Python et C++.
C'est vraiment un ouvrage de pure théorie donc pour les personnes qui souhaitent avoir des exemples d'intelligence artificielle tout faits comme on peut en trouver dans des ouvrages habituels, passez votre chemin ce livre n'est pas fait pour vous. Vous ne trouverez dedans que des algorithmes, des formules mathématiques, des démonstrations mathématiques, des courbes explicatives, de la notation BNF (Backus Naur Form), etc.
Critique du livre par la rédaction prenom nom le 1er mars 2011
Ce livre est la traduction française de « Artificial Intelligence : a modern approach », troisième édition, de Stuart Russel et Peter Norvig, livre de référence en matière d'intelligence artificielle.
Ceux qui se méfient des traductions peuvent être rassurés. La relecture scientifique a été réalisée par Laurent Miclet, expert du domaine et auteur de « Apprentissage artificiel » .
Contrairement à ce dernier ouvrage, plus universitaire et dédié uniquement à l'apprentissage artificiel, celui-ci est plus général. Il traite de l'IA dans son ensemble, de ses fondements historiques, de la résolution de problèmes, de la connaissance, du raisonnement, de la planification, de l'apprentissage, de la communication, de la perception, de l'action, de robotique.
Après avoir défini l'IA comme l'étude des agents qui reçoivent des percepts de l'environnement et qui réalisent des actions, les auteurs se servent de cette idée d'agent intelligent pour explorer le domaine. Ce qui en fait un fil conducteur agréable à suivre.
Ce que j'ai également bien aimé, c'est que chaque chapitre commence par une petite phrase d'introduction et se termine par un résumé, des notes bibliographiques et historiques ainsi qu'une série d'exercices.
Du coup, j'ai trouvé l'ouvrage, bien que copieux, plutôt abordable. Je n'irais pas jusqu'à dire qu'il s'adresse à tout public mais si vous êtes intéressé par le domaine, pas seulement par l'aspect technique mais aussi par l'aspect philosophique, je vous le recommande.




 Commenter Signaler un problème

Avatar de Djug Djug - Expert éminent sénior https://www.developpez.com
l 25/03/2011 à 9:13
Benwit vous propose la critique du livre "Intelligence artificielle" de Stuart Russel

Écrit par les experts de renommée mondiale, ce livre est la référence incontournable en matière d'intelligence artificielle (IA) dont il présente et analyse tous les concepts : logique, probabilités, mathématiques discrètes et du continu, perception, raisonnement, apprentissage, prise de décision et action.

Sa spécificité est de présenter l'IA à travers le concept des agents intelligents. Les auteurs exposent comment un système réussit à percevoir son environnement de manière à analyser ce qu'il s'y passe, et comment il transforme la perception qu'il a de son environnement en actions concrètes.

Parmi les sujets couverts : - les contributions historiques des mathématiques, de la théorie des jeux, de l'économie, de la théorie des probabilités, de la psychologie, de la linguistique et des neurosciences ; - les méthodes qui permettent de prendre des décisions lors de l'établissement d'un projet, en tenant compte des étapes à venir ; - les différentes manières de représenter formellement les connaissances relatives au monde qui nous entoure ainsi que le raisonnement logique fondé sur ces connaissances ; - les méthodes de raisonnement qui permettent d'établir des plans et donc de proposer des actions à entreprendre ; - la prise de décisions en environnement incertain : réseaux bayésiens et algorithmes tels que l'élimination de variables et MCMC (Markov Chain Monte-Carlo) ; - les méthodes employées pour générer les connaissances exigées par les composants de prise de décision : les algorithmes de boosting, l'algorithme EM (expectation-minimization), l'apprentissage à base d'exemples et les méthodes à noyaux (machines à vecteurs support) ; - les implications philosophiques et éthiques de l'IA.

Chaque chapitre est illustré par de nombreux exemples et s'achève par des activités, qui vont des exercices de réflexion à des exercices de programmation, en passant par l'approfondissement des méthodes décrites, soit plus de 500 activités au total.

Cette 3e édition tient compte des derniers développements de la matière, concernant notamment les représentations qu'un agent peut utiliser (atomique, factorisée, structurée), les environnements partiellement observables et non déterministes, les planifications contingente et hiérarchique, les modèles probabilistes du premier ordre, l'apprentissage automatique, la recherche et l'extraction d'information sur le web et l'apprentissage à partir de très grandes bases de données.

Avez vous lu ce livre, pensez vous le lire ?
Avatar de Franck Dernoncourt Franck Dernoncourt - Membre émérite https://www.developpez.com
l 25/03/2011 à 13:51
Excellent livre, vraiment intéressant pour avoir une vue d'ensemble de l'intelligence artificielle, chose qui est parfois difficile pour une personne non familière avec l'IA.

Explications claires, structure des chapitres simple mais efficace, termes définis mis en évidence et nombreux exemples/exercices. Accessible au plus grand nombre je pense.

Par contre, avec 1200 pages, il faut avoir du temps à investir. A cela s'ajoutent les 200 pages du manuel des solutions des exos.

Bref, une des références du domaine, support de beaucoup de cours en IA dans le monde

Le site officiel du livre : http://aima.cs.berkeley.edu/
Avatar de Franck Dernoncourt Franck Dernoncourt - Membre émérite https://www.developpez.com
l 23/10/2011 à 16:28
Les gens intéressés par ce livre seront probablement intéressés par http://www.developpez.net/forums/d11...e-fall-2011-a/ également.

 
couverture du livre Introduction à la cryptographie

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Introduction à la cryptographie

de
Traducteurs : Jacques Vélu

Résumé de l'éditeur

La cryptographie est un domaine clé des systèmes électroniques. Elle permet de conserver aux données leur caractère de confidentialité, de contrôler leur accès, d'identifier des documents (signature électronique)... Les utilisateurs de ces systèmes doivent être en mesure non seulement de comprendre comment ça marche mais aussi d'estimer l'efficacité de la sécurité d'un système. Ce livre présente les outils mathématiques et algorithmiques utiles en cryptographie.

Les techniques de base sont présentées avec un souci de concision et de clarté et sans formalisme mathématique excessif. Le cours est complété par des exercices simples dont les solutions (exercices impairs) sont données en fin d'ouvrage.

Édition : Dunod - 272 pages, 2e édition, 1er juin 2006

ISBN10 : 2100496220 - ISBN13 : 9782100496228

Commandez sur www.amazon.fr :

33.25 € TTC (prix éditeur 35.00 € TTC)
  • Les entiers
  • Congruences et classes résiduelles
  • Chiffrement
  • Probabilités et secret parfait
  • DES
  • AES
  • Fabrication de nombres premiers
  • Chiffrement à clés publiques
  • Factorisation
  • Logarithmes discrets
  • Fonctions cryptographiques de hachage
  • Signature digitale
  • Autres systèmes
  • Identification
  • Partage de secret
  • Infrastructure de clés publiques
Critique du livre par la rédaction Janitrix le 8 avril 2009
Voilà un bon livre sur la cryptographie d'un point de vue mathématique. J'avoue avoir été anxieux lors de la réception de ce livre. "Introduction à la cryptographie" est un titre qui peut être facilement mal interprêté.
Mais les premières pages nous mettent dans le bain : des mathématiques, en veux-tu en voilà. Tout d'abord, l'auteur rappelle quelques notions mathématiques basiques afin de ne perdre aucun lecteur en cours de route. Les premiers chapitres ne sont donc pas en rapport "direct" avec la cryptographie, mais simplement un rappel de quelques démonstrations et algorithmes élémentaires (notamment l'algorithme d'Euclide, le PGCD, probabilités), nécessaires à l'approche de la cryptographie.
Ainsi, après deux chapitres purement mathématiques, l'auteur nous plonge dans les entrailles du chiffrement, en définissant, toujours d'un point de vue mathématique, les notions générales de la cryptographie.
Suivant ce chapitre, l'auteur présente quelques algorithmes connus (RSA, DES, César, Vigenère et bien d'autres), puis la cryptanalyse et l'attaque des chiffres.
Enfin, deux chapitres couvrent l'étude des algorithmes de hachage et de signature digitale.
Ce livre est un complèment pour l'étudiant en école d'ingénieur, disposant d'exercices corrigés. Ainsi, le lecteur doit s'attendre à trouver la lecture difficile. Ce n'est pas un roman, aucune étude historique n'est faite de la cryptographie.
Malgré la volonté visible de l'auteur de faciliter la compréhension du lecteur, ce dernier devra avoir de bonnes connaissances en mathématiques pour ne pas être perdu, quitte à se replonger dans ses anciens cours.
Mon point de vue personnel est plutôt positif. Après avoir lu quelques livres sur la cryptographie d'un point de vue historique, je voulais en savoir plus sur le fonctionnement interne de cet art mystique. Si vous voulez savoir satisfaire votre curiosité à propos de la théorie de la cryptographie, ce livre est parfait.
Les explications de l'auteur sont pour la plupart claires, mais il faut prendre son temps pour lire. Je le répète, cela reste un livre très technique.
Si vous êtes curieux, si la cryptographie vous passione et si les mathématiques ne vous font pas peur, n'hésitez pas, vous ne serez pas déçu par ce livre.


couverture du livre Introduction à l'algorithmique

Note 5 drapeau
Détails du livre
Sommaire
Critiques (2)
 
 

Introduction à l'algorithmique

2e cycle - Ecoles d'ingénieurs

de

Résumé de l'éditeur

Cet ouvrage sans équivalent, exhaustif et d'accès facile est une introduction complète à l'algorithmique. Il s'adresse aussi bien aux étudiants qu'aux professionnels de l'informatique.

L'éventail des algorithmes étudiés dans ce livre va des plus classiques, comme les algorithmes de tri et les fonctions de hachage, aux plus récents, comme ceux de la cryptographie, permettant ainsi de passer progressivement des notions élémentaires aux thèmes les plus pointus.

Les auteurs, T. Cormen, C. Leiserson, R. Rivest et C. Stein, de renommée internationale, présentent tous les algorithmes dans un pseudo-code proche des langages Pascal, C et Fortran, ce qui les rend très faciles à comprendre et à implémenter. Les algorithmes et leurs propriétés sont analysés en profondeur. Ils sont toujours complétés par des preuves mathématiques et illustrés par de nombreux exemples, figures, études de cas et exercices de difficulté graduée. Au total ce sont plus de 920 exercices et 140 problèmes qui sont proposés.

La première édition s'était rapidement imposée comme un remarquable ouvrage de référence, aux États-Unis comme en France. Cette seconde édition, profondément remaniée, mise à jour et enrichie, reste plus que jamais un outil de travail complet et indispensable.

Édition : Dunod - 1146 pages, 2e édition, 1er octobre 2002

ISBN10 : 2100039229 - ISBN13 : 9782100039227

Broché, dimensions : 18 x 6 x 25

Commandez sur www.amazon.fr :

56.91 € TTC (prix éditeur 59.09 € TTC)
  • Introduction
    • Rôle des algorithmes en informatique
    • Premiers pas
    • Croissance des fonctions
    • Récurrences
    • Analyse probabiliste et algorithmes randomisés
  • Tri et rangs
    • Tri par tas
    • Tri rapide
    • Tri en temps linéaire
    • Médians et rangs
  • Structures de données
    • Structures de données élémentaires
    • Tables de hachage
    • Arbres binaires de recherche
    • Arbres rouge-noir
    • Extension d'une structure de données
  • Techniques avancées de conception et d'analyse
    • Programmation dynamique
    • Algorithmes gloutons
    • Analyse amortie
  • Structures de données avancées
    • B-Arbres
    • Tas binomiaux
    • Tas de Fibonacci
    • Structures de données pour ensembles disjoints
  • Algorithmes pour les graphes
    • Algorithmes élémentaires pour les graphes
    • Arbres couvrants de poids minimum
    • Plus courts chemins à origine unique
    • Plus courts chemins pour tout couple de sommets
    • Flot maximum
  • Morceaux choisis
    • Réseaux de tri
    • Calcul matriciel
    • Programmation linéaire
    • Polynômes et transformée rapide de Fourier
    • Algorithmes de la théorie des nombres
    • Recherche de chaînes de caractères
    • Géométrie algorithmique
    • NP-Complétude
    • Algorithmes d'approximation
  • Annexes : éléments de mathématiques
    • Sommations
    • Ensembles, etc.
    • Dénombrement et probabilités
Critique du livre par la rédaction Pascail le 15 septembre 2007
Un poids considérable, une qualité de papier surprenante, des schémas à foison, c'est la première impression que nous donne cette véritable encyclopédie des algos.
Tout développeur a eu besoin un jour d'un algorithme optimisé, seulement voilà, les études sont loin, et on fait généralement du code au "feeling" avec ce qu'il nous reste en tête.
Les thèmes abordés sont nombreux, cela va du simple tri à des techniques de cryptographie en passant par les inoubliables graphes.
Le livre est surtout axé mathématiques mais des exemples en pseudo code permettent d'adapter rapidement les algorithmes dans n'importe quel langage.
Dommage que pour les algos les plus avancés il n'y ait pas d'exemple de code, à part ce petit bémol, cet ouvrage est à posséder dans toute bonne bibliothèque.
Critique du livre par la rédaction Alp le 4 avril 2008
Ce livre est absolument indispensable. Il permet d'apprendre l'algorithmique à lui tout seul, mais peut également être utilisé comme support de cours pour les étudiants et comme "aide-mémoire" pour les développeurs et chefs de projet.
Néanmoins, ce livre repose beaucoup sur les mathématiques, notamment en ce qui concerne l'efficacité des algorithmes et leur optimalité, avec des calculs de complexité et des modélisations mathématiques de problèmes. Il ne faut toutefois pas oublier que l'algorithmique est assez liée aux mathématiques et c'est en ce sens que ce livre, à mon avis, a fait le bon choix. Si vous n'êtes pas trop familier avec le calcul asymptotique ou les probabilités, vous pourrez y remédier grâce aux annexes fournies.
En ce qui concerne l'aspect purement algorithmique du livre, rien à redire. On dispose de nombreux algorithmes, que l'on découvre et qui nous sont expliqués d emanière très claire. Ayant adoré ce livre, je regrette qu'il n'expose pas un peu plus d'algorithmes pour d'autres domaines, mais ce serait probablement trop pour un seul livre. J'aurais en réalité bien aimé disposer d'un ouvrage "Algorithmique avancée" de ces mêmes auteurs, mais ça n'est pas encore le cas.
Quoiqu'il en soit, si vous cherchez un ouvrage pour apprendre l'algorithmique ou vous perfectionner dans ce domaine, "Introduction à l'algorithmique" est celui qu'il vous faut. Ce livre est un excellent cocktail de clarté, de rigueur et d'efficacité, tout simplement.


couverture du livre Algorithmes de graphes

Note 5 drapeau CD-Rom
Détails du livre
Sommaire
Critiques (1)
 
 

Algorithmes de graphes

de
Public visé : Débutant

Résumé de l'éditeur

Les graphes et leurs algorithmes sont des outils mathématiques utilisés pour modéliser et résoudre des problèmes complexes dans des domaines aussi variés que l'optimisation (production industrielle, aide à la décision...), la conception de réseaux (électriques, routiers, télécoms...) ou la modélisation de systèmes évolutifs (économie, automatique...). L'objet de ce livre est de rendre ces techniques fondées sur la théorie des graphes accessibles à des non-mathématiciens et de montrer comment les mettre en oeuvre dans des cas concrets.

Une première partie introduit les notions d'optimisation combinatoire et de complexité des algorithmes, et donne un large panorama des méthodes existantes, des plus classiques aux plus récentes (recuit simulé, tabou...). La seconde partie traite des différents problèmes de graphes : chemins optimaux, flots, tournées, coloration, etc.

Les algorithmes, soigneusement justifiés, sont accompagnés de programmes en pseudo-code et en langage Delphi (Pascal objet), ainsi que d'exemples d'applications commentées. Le CD-Rom d'accompagnement offre une véritable boîte à outil logicielle qui permettra au lecteur de résoudre ses problèmes de graphes sans avoir à programmer lui-même : un outil idéal pour des travaux pratiques d'étudiants ou pour le prototypage rapide d'applications professionnelles. Les sources en langage Delphi, qui sont fournis pour tous les algorithmes du livre, peuvent être modifiés par les programmeurs et incorporés dans leurs propres applications.

A qui s'adresse l'ouvrage ? Aux étudiants en mathématiques appliquées, algorithmique, recherche opérationnelle, gestion de production, économie et finance, aide à la décision, etc. Aux ingénieurs, enseignants-chercheurs, informaticiens, industriels, économistes et décideurs ayant à résoudre des problèmes complexes d'optimisation et d'aide à la décision.

Édition : Eyrolles - 424 pages, 2e édition, 1er octobre 2003

ISBN10 : 2212113854 - ISBN13 : 9782212113853

Commandez sur www.amazon.fr :

42.75 € TTC (prix éditeur 45.00 € TTC)
  • Introduction aux graphes
  • Complexité des algorithmes et problèmes difficiles
  • Résolution des problèmes difficiles
  • Implémentation objet des graphes
  • Explorations de graphes, composantes connexe et bipartisme
  • Problèmes de chemins optimaux
  • Problèmes de flots et de couplages
  • Arbres et arborescences
  • Parcours euleriens et hamiltoniens
  • Problèmes de coloration
Critique du livre par la rédaction Matthieu Brucher le 16 mai 2008
Comment aborder de manière efficace le difficile problème des graphes ? C'est à cette question que ce livre tente de répondre. Et il le fait bien. Les premiers chapitres sont une excellente introduction aux graphes, mais aussi à la complexité, son calcul et ses implications, et une implémentation de graphes.
En parlant de l'implémentation proposée par le livre, elle est faite en Delphi. Mais pour ceux qui voudraient l'implémenter dans d'autres langages, le livre leur donne des pistes pour les autres langages.
Les autres chapitres concernent les algorithmes de graphes proprement dit. La difficulté est croissante, ce qui permet de ne pas perdre le lecteur. Dans le même temps, chaque chapitre se termine par de multiples références pour que le lecteur puisse approfondir un sujet, au besoin. Malheureusement, elles sont souvent en anglais, mais avec une bonne introduction, ça passe mieux, ce qui est le cas ici.


couverture du livre Réseaux de neurones

Note 4 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Réseaux de neurones

Méthodologie et applications

de
Public visé : Intermédiaire

Résumé de l'éditeur

Les réseaux de neurones constituent aujourd'hui une technique de traitement de données bien comprise et maîtrisée, qui devrait faire partie de la boîte à outils de tout ingénieur soucieux de tirer le maximum d'informations pertinentes des données dont il dispose : effectuer des prévisions, de la fouille de données, élaborer des modèles, reconnaître des formes ou des signaux, etc.

joignant fondements théoriques et applications pratiques dans un langage accessible, cet ouvrage permettra aux décideurs, aux ingénieurs et aux chercheurs de bénéficier de méthodologies claires pour mettre en oeuvre les réseaux de neurones dans des applications industrielles, financières ou bancaires, dont de nombreux exemples sont présentés. Cette deuxième édition mise à jour et enrichie des derniers développements dans le domaine est accompagnée d'un CD-Rom contenant des d'exemples de modèles en C avec leurs données et d'un outil d'apprentissage dédié, Neuro One (version d'évaluation).

A qui s'adresse ce livre ? - Aux ingénieurs, informaticiens, industriels et décideurs ayant à résoudre des problèmes de modélisation, de reconnaissance, de prévision, de commande, etc. - Aux étudiants et élèves ingénieurs des disciplines scientifiques et économiques, et à leurs enseignants.

Édition : Eyrolles - 417 pages, 2e édition, 1er avril 2004

ISBN10 : 2212114648 - ISBN13 : 9782212114645

Broché, dimensions : 17 x 3 x 23

Commandez sur www.amazon.fr :

49.04 € TTC (prix éditeur 52.00 € TTC)
  • Les réseau de neurones : pourquoi et pour quoi faire ?
  • Modélisation à l'aide de réseaux de neurones : principes et méthodologie de conception de modèles
  • Compléments de méthodologie pour la modélisation : réduction de dimension et ré-échantillonnage
  • Identification "neuronale" de systèmes dynamiques commandés et réseaux bouclés (récurrents)
  • Apprentissage d'une commande en boucle fermée
  • La discrimination
  • Cartes auto-organisatrices et classification automatique
  • Réseaux de neurones sans apprentissage pour l'optimisation
  • Bibliographie commentée
  • Outils pour les réseaux de neurones (CDROM)
Critique du livre par la rédaction khayyam90 le 1er novembre 2007
Après une rapide introduction au concept de réseaux de neurones, le lecteur est plongé dans une description d'un grand nombre de types de réseaux de neurones différents avec pour chacun d'eux leurs propriétés et des domaines d'utilisation. Toutes ces présentations sont étroitement liées à des explications statistiques permettant de préparer et de traiter de manière optimale les données à manipuler dans le réseau.
Cet ouvrage traite des réseaux de neurones par un grand nombre d'aspects : algorithmique, statistique, algébrique, avec également des exemples d'applications aussi divers que variés pour notre plus grand bonheur. Il y en a pour tous les goûts.
Le lecteur pourra néanmoins être dérouté par l'excès de formalisme mathématique au détriment d'explications en langage naturel, c'est la raison pour laquelle il faut un solide bagage théorique/statistique/mathématique avant d'attaquer cet ouvrage. On appréciera au plus haut point les explications multiples pour un même concept et la mise en page très claire, mettant en évidence des encadrés "A retenir", "rappel" ou encore "définition", ainsi que des schémas nombreux et clairs. Bref, un ouvrage très utile mais d'une approche pas toujours évidente.


couverture du livre Réseaux bayesiens

Note 3.5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Réseaux bayesiens

de
Public visé : Expert

Résumé de l'éditeur

Modèles de connaissances pour l'aide à la décision, le diagnostic ou le contrôle de systèmes complexes. Technique mathématique combinant statistiques et intelligence artificielle, les réseaux bayésiens permettent d'analyser de grandes quantités de données pour en extraire des connaissances utiles à la prise de décision, contrôler ou prévoir le comportement d'un système, diagnostiquer les causes d'un phénomène, etc. Les réseaux bayésiens sont utilisés dans de nombreux domaines : santé (diagnostic, localisation de gènes), industrie (contrôle d'automates ou de robots), informatique et réseaux (agents intelligents), marketing (data mining, gestion de la relation client), banque et finances (scoring, analyse financière), management (aide à la décision, knowledge management, gestion du risque), etc. Fondements théoriques, méthodologie de mise en oeuvre, exemples d'application et panorama des outils.

Après une première partie de présentation "intuitive" des réseaux bayésiens accompagnée d'exercices, la deuxième partie du livre en expose les fondements théoriques, avec une étude détaillée des algorithmes les plus importants.

Résolument pratique, la troisième partie de l'ouvrage propose une méthodologie de mise en oeuvre, un panorama des domaines d'application, trois études de cas détaillées, ainsi qu'une présentation des principaux logiciels de modélisation de réseaux bayésiens (Bayes Net Toolbox, BayesiaLab, Hugin et Netica).

À qui s'adresse l'ouvrage ? Aux ingénieurs, informaticiens, industriels, biologistes, économistes confrontés à des problèmes d'analyse de données, d'aide a la décision, de gestion des connaissances, de diagnostic ou de contrôle de systèmes. Aux étudiants en mathématiques appliquées, algorithmique, économie, recherche opérationnelle, gestion de production, automatique.

Édition : Eyrolles - 298 pages, 2e édition, 1er avril 2004

ISBN10 : 2212111371 - ISBN13 : 9782212111378

Commandez sur www.amazon.fr :

37.05 € TTC (prix éditeur 39.00 € TTC)
  • INTRODUCTION AUX RESEAUX BAYESIENS
    • Approche intuitive
    • Introduction aux algorithmes : inférence, apprentissage
    • Exercices corrigés
  • CADRE THEORIQUE ET PRESENTATION DETAILLEE DES ALGORITHMES
    • Modèles
    • Propagations
    • Apprentissage
  • METHODOLOGIE DE MISE EN OEUVRE ET ETUDES DE CAS
    (list]
  • Mise en oeuvre des réseaux bayésiens
  • Panorama des applications
  • Étude de cas n° 1 : gestion des risques (EDF)
  • Étude de cas n° 2 : modélisation d'un réseau électrique (EDF)
  • Étude de cas n° 3 : application de scoring pour la vente de crédit en ligne
[/list]
Critique du livre par la rédaction Matthieu Brucher le 11 juin 2008
Comme on pouvait s'y attendre devant ce sujet, le livre est tout de même difficile à comprendre.
Heureusement, les auteurs ont commencé par une petite partie introductive abordable - même s'il faudra chercher dans les annexes les notations pour comprendre les équations, moins une étoile pour cela - suffisamment simple pour que toute personne ayant une notion de probabilité puisse comprendre.
Attention, que ceux qui ne connaissent rien des probabilités et de la règle de Bayes passent leur chemin. Oui, les réseaux bayesiens permettent de résoudre beaucoup de problèmes, mais ce livre ne vous apprendra pas les bases indispensables de la statistique et des probabilités, ce n'est pas non plus son objectif.
La deuxième partie est la partie complexe, celle qui énonce les théorèmes et les algorithmes. A la première lecture, on ne comprend pas tout, c'est normal, il faut se replonger plusieurs fois dedans pour voir vraiment ce qui se passe, pour pouvoir comprendre en détail les algorithmes.
La dernière partie permet de ce faire une idée de ce qu'on peut réaliser avec des réseaux bayesiens. La pratique est en effet indispensable pour comprendre ce vaste sujet. En revanche, aucun code n'est fourni, on est invité à regarder ce que le commerce propose de libre ou de payant, on reste donc un peu sur sa faim à ce niveau, mais n'oublions pas que ce sujet est complexe, et que les programmes sur les réseaux bayesiens sont relativement récents, donc fournir un code source pour ces objets n'est pas chose facile.


couverture du livre Simulation numérique en C++

Note 3.5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Simulation numérique en C++

de

Résumé de l'éditeur

La simulation numérique est devenue un outil de compréhension et de contrôle irremplaçable dans de très nombreux domaines comme la physique, la mécanique, la biologie, la finance, l'industrie… Cet ouvrage présente les techniques les plus avancées pour la simulation et la programmation en C++ de systèmes modélisés par des équations aux dérivées partielles (EDP).

Édition : Dunod - 352 pages, 1re édition, 1er février 2003

ISBN10 : 2100069756 - ISBN13 : 9782100069750

Commandez sur www.amazon.fr :

33.73 € TTC (prix éditeur 35.05 € TTC)
  • Introduction au calcul numérique
  • Algorithmes et techniques avancées
  • La plus simple des méthodes d'éléments finis
  • Graphiques
  • Triangulations automatiques
  • Une méthode intégrale tridimensionnelle
  • Différienciation automatique
  • De C++ à Java
  • Création d'un langage utilisateur
Critique du livre par la rédaction Matthieu Brucher le 6 juillet 2008
Difficile de donner un avis objectif sur ce livre, il couvre des domaines très différents.

La partie C++ est décevante de point de vue, On attend plus d'un livre sorti en 2003 qui ne parle même pas de la STL ! Il est dommage de consacrer une grande partie du livre au C++ sans parler des véritables avantages du C++ et des bibliothèques existantes pouvant résoudre les problèmes présentés. On passera sur la partie Java et celle créant un langage utilisateur, autant utiliser un langage prouvé (Python par ex). Un intérêt peut être porté à la partie OpenGL, à titre d'introduction.

En revanche, la partie sur la simulation numérique est donc purement sur les méthodes à éléments finis. Il faut s'accrocher, mais c'est normal, il ne s'agit pas d'un livre consacré à ces méthodes, mais sur leur approche programmatoire (un précédent ouvrage est consacré à la partie algorithmie, Introduction au calcul scientifique). La difficulté s'accroit au fur et à mesure, c'est appréciable de ne pas se retrouver directement au dernier chapitre.

On regrettera toutefois le manque d'explications sur certains termes, qui sont considérés comme acquis, mais qu'un programmeur ne connaîtra pas forcément, contrairement à un étudiant dans le domaine (la modélisation), il faut donc s'armer d'Internet pour compléter sa lecture (la connaissance de l'analyse numérique ne suffit pas, malgré ce qui est indiqué dans l'introduction du livre).


couverture du livre Compilateurs

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (2)
 
 

Compilateurs

Cours et exercices corrigés

de
Public visé : Intermédiaire

Résumé de l'éditeur

Un compilateur est l'une des parties les plus vitales d'un système informatique. Il permet de traduire un programme écrit en langage évolué (comme Pascal, Ada, C++ ou Java) en un langage simplifié que la machine est capable de comprendre et d'exécuter. Cet ouvrage décrit des techniques de compilation adaptées à tous les langages, logiques, distribués, fonctionnels et orientés objets.

Des techniques d'optimisation et des outils de compilation automatique sont aussi présentés. Des exercices corrigés complètent le cours.

Édition : Dunod - 800 pages, 1re édition, 1er janvier 2002

ISBN10 : 2100058878 - ISBN13 : 9782100058877

Commandez sur www.amazon.fr :

56.91 € TTC (prix éditeur 59.09 € TTC)
  • Introduction
  • Du texte du programme à l'arbre abstrait
  • Décoration de l'arbre abstrait : le contexte
  • Traitement du code intermédiaire
  • Gestion de la mémoire
  • Programmes impératifs et orientés objet
  • Programmes fonctionnels
  • Programmes logiques
  • Programmes parallèles et distribués
  • Un compilateur/interprète orienté objet simple
Critique du livre par la rédaction millie le 1er octobre 2010
Cet ouvrage de près de 800 pages très complet traite de tous les outils permettant la conception et la réalisation d'un compilateur. Même si la difficulté est progressive, le livre reste assez délicat à appréhender, mais la réalisation d'un compilateur est de toute manière quelque chose de très difficile.

Le cours traite d'abord des outils théoriques utilisés dans la réalisation d'un compilateur : analyseur lexicale, analyseur syntaxique et analyseur sémantique. Les notions de bases en théorie du langage sont également revues : langage, grammaire, automate, automate à pile... De nombreux détails sont donnés, notamment au niveau des optimisations possibles.
Les auteurs ont donné de nombreux exemples pour permettre de créer un analyseur lexical et un analyseur syntaxique. Soit directement, soit en utilisant un outil externe comme Lex et Yacc (exemples en langage C).

J'ai particulièrement apprécié certains chapitres, notamment l'introduction à des théories un peu à part tel que la gestion de l'allocation dynamique (comment éviter la fragmentation de la mémoire...) et la création d'un ramasse-miette (souvent appelé Garbage Collector).
Ce livre ne s'arrête pas à l'explication de la compilation d'un langage impératif de haut niveau vers un langage impératif de bas-niveau, ce qui est souvent le cas avec ce type de cours, mais explique en détails les techniques de compilation pour des langages fonctionnels, objets et logique, tout en détaillant de nombreuses optimisations possibles. Un chapitre introduit même des outils pour permettre de paralléliser ou de distribuer des algorithmes simples.

Pour finir, le cours donne un exemple complet de réalisation d'un compilateur en Java.
Pour résumer, ce cours est très complet et touche à tous les domaines de la compilation. Des exercices sont proposés à chaque fin de chapitre et de nombreux exemples pratiques sont donnés. Si le lecteur souhaite en savoir d'avantage, la bibliographie est recapitulé pour chaque chapitre, ce qui permet de rapidement s'y retrouver.
Critique du livre par la rédaction Matthieu Brucher le 13 décembre 2010
On ne parle pas ici des dernières techniques d'optimisation, mais bien de l'architecture et du design d'un compilateur, les fameux front-ends et back-ends. On ne parle pas non plus des techniques utilisées apr les compilateurs les plus récents qui sont cités tout au plus.
En revanche, les différentes étapes de transformation d'un programme sont exposées de manière plus ou moins claire. Il est dommage de connaître un peu les parseurs pour comprendre le chaître qui leur est consacré, tellement les explications sont succintes et donc le chapitre est un peu obscure - on n'explique pas clairement ce qu'est un parseur LL(n) ou LR(n) et leur dérivés, on doit trouver l'explication en inférant sur les éléments donnés -. en revanche, on comprend mieux au fur et à mesure, l'habitude du livre, sans doute.
Contrairement à d'autres livres dont j'ai pu regarder la table des matières, ce livre prend beaucoup de temps pour exposer les spécificités des langages qu'on utilise plus ou moins couremment. Par exemple pour les langages logiques, on n'utilisera pas les mêmes systèmes d'optimisation et de création que pour un langage impératif. On parle toujours de transformer ces langages en C ou C++ qui sera lui utilisé par un compilateur standard.

Dans l'ensemble, un très bon livre plutôt orienté vers les débutants en programmation de compilateurs et les gens désireux d'apprendr eun peu plus sur les compilateurs, même si les premiers devront définitivement compléter leur lecture par des ouvrages spécifiques à chaque sous-partie.


couverture du livre Programmation et Algorithmique en VBA pour Excel

Note 4.75 drapeau
Détails du livre
Sommaire
Critiques (2)
 
 

Programmation et Algorithmique en VBA pour Excel

de

Résumé de l'éditeur

L'objectif de ce manuel est d'expliquer les bases de la programmation impérative et de l'algorithmique aux débutants en informatique (étudiants en licence ou écoles d'ingénieurs, mais aussi étudiants de master d'autres disciplines, désirant acquérir une seconde compétence). L'ouvrage s'attache à présenter des notions fondamentales et des principes généraux des langages de programmation. Le choix de l'environnement de programmation VBA (Visual Basic for Application) appliqué au logiciel Excel, permet d'écrire rapidement des programmes à la fois intéressants sur le plan pédagogique et attractifs pour les étudiants. Le cours présente les différentes notions abordées en les illustrant par de nombreux exemples. Des exercices corrigés accompagnent chaque chapitre et un chapitre de problèmes de synthèse clôt la présentation. L'ouvrage comporte neuf chapitres qui s'organisent en trois volets. Le premier est consacré à l'étude de la programmation : structures de contrôle, fonctions, procédures et macros, programmation objet en VBA... Le deuxième est une initiation à l'algorithmique : méthodes de recherche et de tri, algorithmes, implémentations et analyse de complexité. Le troisième propose une étude de l'algorithme de mise à jour du tableur, qui assure la cohérence globale de l'affichage de la feuille de calcul. Des compléments sur la prise en main d'Excel et de VBA sont également disponibles en annexe, ainsi qu'un résumé des connaissances nécessaires concernant le tableur, et un manuel de référence pour le langage utilisé dans le livre. Un site compagnon propose aussi des documents complémentaires et les codes sources de différents exercices.

A propos des auteurs
Anne Brygoo, Maryse Pelletier, Michèle Soria et Séverine Dubuisson sont enseignants-chercheurs à l'université Pierre et Marie Curie (UPMC, Paris 6). Elles travaillent ensemble depuis longtemps et ont participé à la rédaction de différents ouvrages d'initiation à l'informatique. Ce livre est le fruit d'une réflexion développée depuis plusieurs années et modelée au contact de milliers d'étudiants, pour présenter la programmation impérative de façon rigoureuse, originale et motivante.

Édition : Dunod - 234 pages, 1re édition, 1er janvier 2007

ISBN10 : 2100507990 - ISBN13 : 9782100507993

Commandez sur www.amazon.fr :

14.00 € TTC (prix éditeur 18.09 € TTC)
  • Noyau de Visual Basic
  • Récursion et boucles
  • Procédures et entrées/sorties
  • Objets en VBA Excel
  • Programmation de calculs
  • Algorithmes de recherche
  • Algorithmes de tri
  • Algorithmes de mise à jour
  • Problèmes de synthèse
Critique du livre par la rédaction le 1er décembre 2008
Ce livre s'adresse à deux types de public :

Les initiés à la programmation VBA sous Excel qui veulent acquérir quelques connaissances algorithmiques.
Les initiés à l'algorithmique qui veulent voir une application concrète des principes sous VBA Excel.
Comme vous l'avez compris, ce livre n'est pas pour les débutants, mais pour un public d'initiés. Vous y découvrirez à la fois une petite initiation au VBA sous Excel et une à l'algorithmique.
Cet ouvrage vous permettra de comprendre le fonctionnement des boucles de recherches, des tris de différentes manières.
Vous y trouverez également de nombreux exercices corrigés.

Bien que réservé au départ à des étudiants Post-Bac, cet ouvrage est excellent pour ceux qui veulent aller un peu plus loin.
Critique du livre par la rédaction Anthony Lo-monaco le 31 mai 2015
J'ai lu une bonne partie de ce livre qui presente pas mal d'exemple algoritmiques, il est tres interessant, mais la presentation ne donne pas toujours envi de lire....
Il est interessant mais je pense qu'en terme d'algo on peut trouver mieux meme si ca sera pas en vba . Je n'ai pas forcement aderé au livre, mais pour autant il n'est pas mauvais .


couverture du livre Introduction à la calculabilité

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Introduction à la calculabilité

de

Résumé de l'éditeur

Dans le monde de l'informatique en perpétuelle évolution, une connaissance élémentaire de la théorie de la calculabilité reste plus que jamais indispensable à l'informaticien, qui se pose sans cesse la question des limites de l'informatique. La théorie de la calculabilité apporte des réponses. Elle démontre notamment que certains problèmes informatiques ne peuvent pas être résolus par des programmes. Cet ouvrage présente les éléments essentiels de cette science qui consiste à étudier ce qu'il est possible ou non de résoudre grâce à l'outil informatique, quelle que soit la machine utilisée. Il aborde en premier lieu les langages formels, les automates et les grammaires puis introduit la notion de calculabilité par le biais des machines de Turing et des fonctions récursives. En dernier lieu, sont étudiées les notions de complexité, et plus particulièrement les problèmes NP-complets. Ce manuel comporte de nombreux exercices d'application, ainsi que leurs corrigés. Cette troisième édition s'enrichit d'une section sur l'interprétation de la non-calculabilité et approfondit la notion de NP-complétude. Si ce livre constitue avant tout un cours destiné aux étudiants en informatique, il s'adresse également aux professionnels désireux de mieux comprendre cette science.

Édition : Dunod - 224 pages, 3e édition, 12 décembre 2006

ISBN10 : 2100499815 - ISBN13 : 9782100499816

Commandez sur www.amazon.fr :

28.41 € TTC (prix éditeur 29.09 € TTC)
  • Introduction
  • Les automates finis
  • Les grammaires régulières
  • Automates à pile et langages hors-contexte
  • Les machines de turing
  • Les fonctions récursives
  • La non-calculabilité
  • La complexité
  • Solution des exercices
Critique du livre par la rédaction Morgan Bourgeois le 31 août 2008
Cet ouvrage est un cours sur la calculabilité dont la vocation première est de servir de support de cours aux étudiants de 2nd cycle en informatique et aux élèves ingénieur. L'ensemble des bases de cette matière y sont abordés ( cf : table des matières). Les explications claires et les exercices judicieusement choisis en font un ouvrage de référence que tout étudiant en informatique se doit de consulter.
S'agissant d'un cours de second cycle, il convient de posséder quelques bases pour tirer le maximum de bénéfices des savoirs prodigués par cet ouvrage. En outre, des connaissances concernant les ensembles et la théorie des graphes s'avèrent indispensables.
Outre le cours théorique à destination des étudiants, la lecture de ce livre est intéressante à tout informaticien désireux de comprendre : l'utilisation des expressions régulières, la mise au point d'un langage de programmation et les principes l'analyse syntaxe, les ensembles de définition de fonctions. Et plus généralement, la calculabilité …


couverture du livre Intelligence Artificielle

Note 5 drapeau
Détails du livre
Sommaire
Critiques (2)
0 commentaire
 
 

Intelligence Artificielle

de
Traducteurs : Marie-Cécile Baland, David de Loenzien, Patrick Haond
Public visé : Intermédiaire

Résumé de l'éditeur

Ce livre est LA référence en matière d'Intelligence Artificielle. Il en décrit et analyse tous les concepts : la logique, les probabilités et les mathématiques discrètes et du continu, la perception, le raisonnement, l'apprentissage, la prise de décision et l'action. Sa particularité est de présenter l'IA à travers le concept des agents intelligents, c'est-à-dire de systèmes qui décident de ce qu'il convient de faire. Les auteurs expliquent ainsi comment un agent intelligent réussit à percevoir son environnement de manière à déterminer et analyser ce qu'il s'y passe.

Édition : Pearson Education - 1216 pages, 2e édition, 1er septembre 2006

ISBN10 : 2744071501 - ISBN13 : 9782744071508

Commandez sur www.amazon.fr :

68.04 € TTC (prix éditeur 72.00 € TTC)
  • Intelligence artificielle
  • Résolution de problèmes
  • Connaissances et raisonnement
  • Planification
  • Connaissances et raisonnement en environnement incertain
  • Apprentissage
  • Communication, perception et action
  • Conclusions
Critique du livre par la rédaction Alp le 1er mars 2009
Ce livre est tout simplement excellent, à mes yeux. Au départ, on peut ne rien connaître de l'intelligence artificielle, tout simplement en avoir entendu parler, juste savoir que cela existe. Dès le début, les auteurs nous plongent dans cet univers grâce à un chapitre décrivant l'histoire de l'Intelligence Artificielle (IA). Par la suite, les auteurs vont peu à peu introduire certaines notions telles que celle "d'agent intelligent", introduite dès le début. Cette notion est d'ailleurs la notion centrale du livre, car c'est autour de cette dernière que va s'orienter toute la suite du livre.

Une particularité de ce livre est qu'il est assez théorique. Le lecteur est amené à réfléchir sur des sujets passionnants, à mettre en relation des concepts et à les exploiter lui-même. En effet, parmi les 400 et quelques exercices, certains sont des exercices de réflexion, simplement. D'autres, à l'opposé, sont des exercices de programmation. Il est cependant important de s'intéresser à l'aspect "réflexion" de ce livre car il vous fera comprendre excessivement plus facilement bien des concepts et algorithmes d'IA.

Si ce livre vous intéresse mais que vous hésitez à cause de l'aspect théorique, je ne peux que vous conseiller de le feuilleter si vous le pouvez, ou bien de consulter sa table des matières. Pourquoi ? Car si il aborde vraiment les thèmes qui vous intéressent, la théorie ne sera pas un problème. Bien que la démarche adoptée soit plutôt nettement scientifique, il demeure toutefois accessible grâce à son côté philosophie, car il est bien question de philosophie de l'IA. On y apprend à raisonner sur les agents intelligents dans un contexte donc à la fois scientifique et philosophique. Toutefois, ce livre n'est pas non plus accessible à Mr Tout le monde. Il faut tout de même avoir de bonnes notions d'algorithmie et avoir été ne serait-ce qu'un peu sensibilisé aux problématiques abordées ici. Par exemple : comment fait l'ennemi dirigé par l'ordinateur dans tel jeu pour avoir le meilleur angle de tir et pour décider du meilleur moment pour ce faire ?

En conclusion, ce livre aborde donc tous les aspects qui concernent l'IA. De la prise de décisions au raisonnement, on découvre un nouveau monde passionnant. Il ne faut toutefois pas vous attendre à des exemples en C++, Java ou autres car ce livre est à visée générique et ne cible donc aucun langage. Il s'agit ici de comprendre certaines logiques et de savoir les mettre en oeuvre. C'est donc un excellent livre pour découvrir ce monde. Il devient bien plus facile après sa lecture d'aborder l'implémentation d'intelligences artificielles dans vos programmes.
Critique du livre par la rédaction mbonnetaud le 1er novembre 2005
Lorsqu'on regarde le livre et son sommaire, on voit de suite qu'il est très complet et que le sujet est maitrisé, près de 1200 page parlant d'Intelligence Artificielle et de tout ce qu'il y a autours, réparti en 27 chapitres.
Le sommaire est d'ailleurs assez impréssionnant, on passe de l'histoire de l'IA, aux agents intelligents pour en finir sur la robotique ainsi qu'une réflexion sur l'avenir. Aucun aspect n'est oublié.

Tout le monde peut, à mon avis, y trouver son compte : du débutant complet qui découvrira les différentes notions, un historique détaillé, des résumés de chaque chapitre très bien fait, au confirmé qui y trouvera son bonheur parmi tous les aspects abordés et la richesse qu'apporte chaque chapitre.

Le but central de ce livre reste la réflexion comme nous le montre les différents exercices proposés à chaque fin de chapitre, les auteurs veulent clairement que le lecteur comprenne l'intérêt de mettre en pratique tel ou tel algorithme.

Il faut cependant posséder, comme le précise le livre dans sa préface, quelques connaissances de base en informatique (ne serais ce que pour apprécier les algorithmes ponctuant le livre) ainsi que de solides bases en mathématiques pour comprendre certains chapitres (des rappels mathématique sont disponible en annexe si besoin).
Malgrès cela, le livre se veut accessible de par les exemples fournit qui peuvent être compris par n'importe qui et son style qui se lit assez facilement.

Même si le livre reste très théorique, il en reste très complet et devient vraiment intéressant si on prend la peine de se plonger un minimum dans les exercices proposés et donc de jouer le jeu des auteurs.
C'est pourquoi je le conseil à tous ceux qui veulent découvrir ou en apprendre plus sur l'IA.




 Commenter Signaler un problème

Avatar de forum forum - Robot Forum https://www.developpez.com
l 03/06/2014 à 22:33
Intelligence Artificielle


Ce livre est LA référence en matière d'Intelligence Artificielle. Il en décrit et analyse tous les concepts : la logique, les probabilités et les mathématiques discrètes et du continu, la perception, le raisonnement, l'apprentissage, la prise de décision et l'action. Sa particularité est de présenter l'IA à travers le concept des agents intelligents, c'est-à-dire de systèmes qui décident de ce qu'il convient de faire. Les auteurs expliquent ainsi comment un agent intelligent réussit à percevoir son environnement de manière à déterminer et analyser ce qu'il s'y passe.

[Lire la suite]



 
couverture du livre Géométrie algorithmique

Note 4 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Géométrie algorithmique

de
Public visé : Expert

Résumé de l'éditeur

Ce livre présente les fondements de cette discipline qui associe algorithmique et géométrie combinatoire. Il introduit les principales structures géométriques : polytopes, triangulation, arrangements et diagrammes de Voronoï, et réserve une place centrale à la randomisation, technique probaliste qui conduit à des méthodes générales, simples et efficaces. Le contenu de ce livre a fait l'objet de cours donnés dans le cadre de pusieurs DEA à la charnière entre mathématiques et informatique.

Édition : Dunod - 540 pages, 1re édition, 11 juillet 2000

ISBN10 : 2840741121 - ISBN13 : 9782840741121

Commandez sur www.amazon.fr :

41.07 € TTC (prix éditeur 43.09 € TTC) livraison gratuite !
  • Outils algorithmiques
  • Enveloppe convexe
  • Triangulations
  • Arrangements
  • Diagrammes de Voronoï
Critique du livre par le 1er février 2007
Si vous assimilez le contenu de ce livre, vous serez à même de réaliser des raisonnements poussés sur de nombreux problèmes de géométrie, allant des problèmes de projections en dimension N au cloisonnement des arrangements de triangles en passant par les métriques non euclidiennes.

Bien que destiné, je cite, "aux lecteurs de bonne volonté", ne vous aventurez pas dans ce livre sans de solides connaissances en mathématiques et sans une motivation certaine. Ce livre est construit comme un cours magistral universitaire qui pourra en décourager plus d'un : théorèmes, preuves, lemmes, exercices (non corrigés). Certains pourraient benoitement penser que s'agissant de géométrie les raisonnements s'en trouveraient moins rigoureux et plus accessibles, détrompez-vous, les écritures mathématiques se retrouvent à chaque page et ne servent pas qu'à décorer. On apprécie cependant au plus haut point l'omniprésence des schémas (oui, le thème du livre reste la géométrie), déjà que pas évidente, je n'ose imaginer une lecture et une compréhension minimale sans eux.

Vous devrez faire preuve de patience pour retirer un avantage de ce livre. Le formalisme mathématique trop poussé est un frein à la recherche rapide d'une information, vous serez noyé dans les multiples lemmes et preuves. N'espérez pas utiliser ce livre comme un ouvrage de référence, sa lecture vous apportera une nouvelle approche de la géométrie avec de nouveaux raisonnements mais pas de réponses rapides à des problèmes concrets. Ne vous étonnez pas non plus si le côté informatique de certains raisonnements vous échappe, les explications sont fortement orientées sur l'aspect théorique et mathématique.

Je recommande spécialement ce livre aux étudiants en école d'ingénieur qui souhaitent prolonger leurs cours, mais aussi aux ingénieurs confirmés devant se lancer dans des raisonnements géométriques avancés.
Texte de votre critique
Date de la critique JJ/MM/AAAA
Qui a réalisé cette critique ?

Son pseudo :

Son nom :
Note


couverture du livre Apprentissage statistique

Note 4.5 drapeau CD-Rom
Détails du livre
Sommaire
Critiques (1)
 
 

Apprentissage statistique

Réseaux de neurones - Cartes topologiques - Machines à vecteurs supports

de

Résumé de l'éditeur

L'apprentissage statistique permet la mise au point de modèles de données et de processus lorsque la formalisation de règles explicites serait impossible : reconnaissance de formes ou de signaux, prévision, fouille de données, rise de décision en environnement complexe et évolutif. Ses applications sont multiles dans le monde de la production industrielle (robotique, maintenance préventive, développement de capteurs virtuels, planification d'expériences, aide à la conception de produits), dans le domaine de la biologie et de la santé (aide au diagnostic, aide à la découverte de médicaments, bio-informatique), en télécommunications, en marketing et finance, et dans bien d'autres domaines.

Sans omettre de rappeler les fondements théoriques de l'apprentissage statistique, cet ouvrage offre de solides bases méthodologiques à tout ingénieur ou chercheur soucieux d'exploiter ses données. Il en présente les algorithmes les plus couramment utilisées - réseaux de neurones, cartes topologiques, machines à vecteurs supports, modèles de Markov cachés - à l'aide d'exemples et d'études de cas industriels, financiers ou bancaires.

Édition : Eyrolles - 449 pages, 1er septembre 2008

ISBN10 : 2212122292 - ISBN13 : 9782212122299

Commandez sur www.amazon.fr :

52.00 € TTC (prix éditeur 52.00 € TTC)
  • L'apprentissage statistique : pourquoi, comment ?
  • Les réseaux de neurones
  • Compléments de méthodologie pour la modélisation : réduction de dimension et ré-échantillonnage
  • Identification neuronale de systèmes dynamiques commandés et réseaux bouclés (récurrents)
  • Apprentissage d'une commande en boucle fermée
  • La discrimination
  • Cartes auto-organisatrices et classification automatique
  • Outils pour les réseaux de neurones et contenu du CD-ROM
Critique du livre par la rédaction Alp le 23 octobre 2008
Ce livre présente très bien la théorie de l'apprentissage statistique et nous fait réellement rendre conscience de son importance dans le monde actuel. En effet, un premier chapitre aborde les généralités sur l'apprentissage statistique : pourquoi, comment, etc. Ensuite, un deuxième chapitre se consacre entièrement aux réseaux de neurones, et la pari est gagné. On est plongé dans l'apprentissage statistique et la théorie des réseaux de neurones est expliquée mais également accompagnée de nombreux exemples, afin de ne pas perdre le lecteur dans les explications, de la reconnaissance de formes à la fouille de données en passant par la robotique et la prédiction de température notamment. Le chapitre suivant lui traite de réduction de dimension et de ré-échantillonnage, où comment mieux préparer les entrées nos outils de prédiction, apprentissage. On y voit notamment l'analyse en composantes principales (ACP), curvilignes (ACC). Puis l'on voit des réseaux de neurones plus complexes, les réseaux de neurones bouclés (ou "récurrents"), la discrimination, les cartes auto-organistratices et les machines à vecteurs supports.

J'ai énormément apprécié ce livre et en attendais beaucoup, et il m'a satisfait sur tous les points sauf un : les machines à vecteurs supports. En effet, je m'attendais à bien plus d'explications et de pages sur le sujet, mais c'est la seule chose qui m'a déçue avec ce livre. Si vous êtes intéressés par l'apprentissage statistique ou par n'importe laquelle de ses applications, alors ce livre et pour vous, satisfaisant à la fois les fous de théories comme les practiciens. Attention toutefois, il faut un certain niveau en mathématiques statistiques pour aborder sereinement ce livre.


couverture du livre Calculateurs, calculs, calculabilité

Note 4 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Calculateurs, calculs, calculabilité

de
Public visé : Débutant

Résumé de l'éditeur

Cet ouvrage s'adresse aux étudiants ayant une expérience, même légère, de la programmation, qu'ils soient en licence ou en master d'informatique (niveaux L2, L3 ou M1) ou en écoles d'ingénieurs.

Il existe en informatique des limites qui sont aussi fondamentales que la vitesse de la lumière ou le second principe de la thermodynamique. Elles concernent autant l'existence de solutions informatiques à des problèmes, que le coût de ces solutions quand elles existent. L'objectif de cet ouvrage est de jalonner ces frontières en adoptant le point de vue du programmeur.

Cet ouvrage correspond à un enseignement donné en deuxième année de licence et réparti en séances de cours et séances de TP, car beaucoup d'étudiants comprennent mieux les définitions en les implémentant.

Rédigé dans un style aussi simple que possible, cet enseignemtn donne aussi une ouverture sur l'histoire de cette discipline en introduisant de courtes biographies d'acteurs importants (Cantor, von Neumann, Turing...) et quelques textes remarquables.

Édition : Dunod - 204 pages, 1re édition, 1er janvier 2008

ISBN10 : 2100515888 - ISBN13 : 9782100515882

Commandez sur www.amazon.fr :

23.75 € TTC (prix éditeur 25.00 € TTC)
  • LES CALCULATEURS
  • État des calculateurs
  • Changement d'état
  • Ce que calcule un calculateur
  • LES ENSEMBLES DE CANTOR
  • Intuition et définitions
  • Principaux résultats
  • LE PROBLEME DE L'ARRET
  • Preuve
  • Preuve en images
  • Méthode de la réduction
  • LE THEOREME DE RICE
  • Preuve
  • Preuve en images
  • Les programmes WHILE
  • Syntaxe des programmes WHILE
  • Sémantique du langage WHILE
  • Programmer avec le langage WHILE
  • LES PROGRAMMES FOR
  • Syntaxe des programmes FOR
  • Sémantique du langage FOR
  • Puissance de calcul du modèle FOR
  • LA COMPLEXITE DES FONCTIONS
  • Intuition
  • Notation
  • Quelques ordres de grandeur
  • LES PROBLEMES P ET NP
  • Calculer, vérifier et réduire
  • Indéterminisme
Critique du livre par la rédaction Sébastien Doeraene le 10 octobre 2008
Ce livre, court et simple d'approche, est un très bon moyen de s'introduire à la calculabilité. Il ne repose sur aucun prérequis en la matière, et est donc destiné au débutant de la discipline.
La calculabilité y est présentée comme une discipline d'aspect pratique pour le programmeur, et les explications, bien qu'évidemment théoriques - la calculabilité est, tout de même, un domaine très théorique -, sont agrémentées de conclusions très pratiques. Et surtout, chose particulièrement appréciable, de "preuves en images", qui montrent graphiquement la construction des programmes "artificiels" utilisés dans les démonstrations théoriques. Ces preuves en images sont d'une très grand aide à la compréhension, et à l'appropriation de ces démonstrations.
Il faut par contre se rendre compte que cet ouvrage est une introduction à la calculabilité. Elle a pour but de présenter au programmeur cette discipline, et de la motiver - ce qu'elle fait d'ailleurs très bien. Mais elle ne va guère plus loin, et n'est donc pas indiquée pour le lecteur qui a déjà des rudiments de calculabilité.
Ce livre complètera très bien un premier cours de calculabilité pour les étudiants. Il permettra aussi à tout programmeur de découvrir facilement, et avec intérêt, la calculabilité.
C'est donc un ouvrage que je recommanderais à toute personne désirant s'initier à ce domaine.


couverture du livre Apprendre à programmer

Note 3.5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Apprendre à programmer

Algorithmes et conception objet

de
Public visé : Débutant

Résumé de l'éditeur

Destiné à tous ceux qui débutent en programmation, cet ouvrage très pédagogique leur apprendra comment concevoir et écrire un programme de manière claire et efficace, quel que soit le langage employé. Prenant comme exemple un langage algorithmique, ce livre expose les bases de la programmation (variables, tableau, boucles, fonctions), puis introduit les objets (utilisation et écriture d'objets) et les structures de données (analyse objet). Chaque chapitre se clôt par une série d'exercices corrigés qui manipulent les concepts de base de l'algorithmique objet. L'ouvrage est complété par une étude de cas décrivant la conception et l'écriture d'un jeu de Puissance 4, projet qui fait la synthèse de toutes les connaissances acquises.

Édition : Eyrolles - 296 pages, 1er juillet 2008

ISBN10 : 2212123507 - ISBN13 : 9782212123500

Broché

Commandez sur www.amazon.fr :

27.55 € TTC (prix éditeur 29.00 € TTC)
  • Algorithmique simple
  • Les objets
  • Les structures de données
  • Projet et exercices
  • Annexes
Critique du livre par la rédaction Jean-Philippe Dubé le 12 novembre 2009
Si vous débutez dans la programmation et que vous souhaitez prendre en main les concepts fondamentaux de la POO, ce livre regorge d'information qui vous sera utile. Au début de la lecture, l'auteur aborde une approche procédurale afin de bien présenter les fondements de la programmation. Ensuite, l'auteur aborde la programmation orientée objet, qui va être mise en application dans la partie sur les structures de données. À la fin de ce livre, vous devez construire un jeu de puissance 4 afin de mettre les connaissances que vous avez acquises dans le livre en pratique.
Tout d'abord, l'auteur utilise une approche progressive et pédagogique en mettant en œuvre les notions des chapitres précédents, ce qui permet au lecteur d'avoir plusieurs exemples d'application. Aussi, l'auteur a intégré 40 exercices dans le livre, ce qui permet au lecteur de mettre en pratique les connaissances acquises. Un corrigé des exercices est disponible dans la fin du livre et on y retrouve des explications ainsi que des pistes pour ceux qui ont de la difficulté. J'ai aussi aimé l'accent de l'auteur face au cahier de charge, puisqu'une bonne compréhension de ceux-ci est essentielle dans divers projets.
Par contre, je trouve que l'auteur aurait dû accorder plus d'importance au chapitre touchant les langages de programmation et présenter certains outils de développement afin de mettre en application le projet de puissance 4.
Pour conclure, ce livre présente bien les fondements de la programmation et de la programmation orientée objet, mais un effort personnel important reste à être donné par le lecteur afin d'être autonome dans le développement d'application.


couverture du livre Algorithmique

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Algorithmique

Techniques fondamentales de programmation

de
Public visé : Débutant

Résumé de l'éditeur

Présentation de l'éditeur
Ce livre s'adresse à toute personne désireuse de maîtriser les bases essentielles de la programmation. Pour apprendre à programmer, il faut d'abord comprendre ce qu'est vraiment un ordinateur, comment il fonctionne et surtout comment il peut faire fonctionner des programmes, comment il manipule et stocke les données et les instructions, quelle est sa logique. Alors, au fur et à mesure, le reste devient évidence : variables, tests, conditions, boucles, tableaux, fonctions, fichiers, jusqu'aux notions avancées comme les pointeurs et les objets.
Dans ce livre, le langage algorithmique (ou la syntaxe du pseudo-code des algorithmes) reprend celui couramment utilisé dans les écoles d'informatique et dans les formations comme les BTS, DUT, premières années d'ingénierie à qui ce livre est en partie destiné et conseillé. Une fois les notions de base acquises, le lecteur trouvera dans ce livre de quoi évoluer vers des notions plus avancées : deux chapitres, l'un sur les pointeurs et les références, l'autre sur les objets, ouvrent les portes de la programmation dans des langages évolués et puissants comme le C, le C++ et surtout Java.
Une grande partie des algorithmes de ce livre sont réécrits en Java et les sources, directement utilisables, sont disponibles en téléchargement sur le site de l'éditeur (www.eni-livres.com).

Biographie de l'auteur

Sébastien ROHAUT est Ingénieur Système en missions régulières pour de grands comptes. Il enseigne également Unix et PHP à des classes préparatoires et d'ingénieurs. Fortement investi dans le monde des logiciels libres (fondateur et ancien président de Slyunix, association de promotion de Linux), il a organisé des "Install Parties" et des rencontres avec des débutants sous Linux dont il connaît parfaitement les problèmes. Enfin, il écrit fréquemment dans la presse spécialisée (Planète Linux...) des articles destinés aux amateurs de Linux et des logiciels libres.

Édition : ENI - 375 pages, 1re édition, 1er octobre 2007

ISBN10 : 2746039605 - ISBN13 : 9782746039605

Commandez sur www.amazon.fr :

25.78 € TTC (prix éditeur 25.78 € TTC)
  • Chapitre 1 : Introduction à l'algorithmique
    • A. Les fondements de l'informatique
    • B. L'algorithmique
    • C. Les langages d'implémentation
  • Chapitre 2 : Les variables et opérateurs
    • A. La variable
    • B. Opérateurs et Calculs
    • C. Pour aller plus loin
    • D. Types et langages
  • Chapitre 3 : Tests et logique booléenne
    • A. Les tests et conditions
    • B. L'algèbre booléen
  • Chapitre 4 : Les boucles
    • A. Les structures itératives
    • B. Tant Que
    • C. Répéter … Jusqu'à
    • D. Pour … Fin Pour
  • Chapitre 5 : Les tableaux et structures
    • A. Présentation
    • B. Manipulations simples
    • C. Algorithmes avancés
    • D. Structures et enregistrements
  • Chapitre 6 : Les sous-programmes
    • A. Présentation
    • B. Les sous-programmes récursifs
  • Chapitre 7 : Les fichiers
    • A. Les différents fichiers
    • B. Les enregistrements
    • C. Fichier texte séquentiel
  • Chapitre 8 : Notions avancées
    • A. Les pointeurs et références
    • B. Les listes chaînées
    • C. Les arbres
  • Chapitre 9 : Une approche de l'objet
    • A. Principe de l'objet, une notion évidente
    • B. Manipuler les objets
    • C. L'objet en Java
Critique du livre par la rédaction Olivier Lebeau le 4 octobre 2009
Si vous débutez en programmation, ce livre est fait pour vous, il passe en revue les principes même de la programmation. Les exemples sont en Java, mais l'auteur nous donne une forme plus synthétique des techniques utilisées sous forme de texte très compréhensible et adaptable à tous les langages de programmation. Mais l'auteur s'adresse aussi à toutes les personnes désireuses d'améliorer leurs performances.
Toutes les techniques fondamentales sont passées en revue, la déclaration des variables, les opérations, les affectations, les boucles,…

L'auteur, en plus de vous expliquer les différences qui existent entre les différents langages de programmation, vous met en garde sur les pièges à éviter lorsque vous écrirez votre code.
Les exemples choisis sont pour la plupart utilisables dans le code que vous pourriez écrire pour vos applications. Je pense même qu'on pourrait lire ce livre sans posséder de PC et comprendre aisément certains passages.
En plus de l'algorithmique, ce livre est agrémenté de petites histoires qui rendent sa lecture agréable, vous y apprendrez pourquoi la première Ariane 5 n'a pas terminé sont vol d'essai, …

Le seul reproche que j'ai à faire est le manque de commentaire dans le code, sachant que ce manuel est destiné à des débutants, quelques lignes d'explication auraient été un must, surtout si le langage de programmation que vous utilisez habituellement n'est pas le Java.

Ce livre à sa place dans la bibliothèque d'un programmeur.


couverture du livre Algorithmique - Travaux Pratiques

Note 4.5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Algorithmique - Travaux Pratiques

Entraînez-vous et améliorez votre pratique de la programmation

de

Résumé de l'éditeur

Présentation de l'éditeur
Ce livre sur l'algorithmique s'adresse à toute personne qui désire améliorer sa maîtrise d'un langage de programmation et en particulier celle du langage Java. Il propose de nombreux exercices pratiques de difficulté variable pour compléter sa pratique de la programmation (construction d'index, calcul d'intersection de rectangles, calcul de la distance entre deux mots, simulation d'une course automobile, mini-interpréteur d'expression).

La programmation est introduite d'abord avec les concepts de variables, boucles, tests, tableaux et sous-programmes. La programmation par objets est ensuite abordée de façon très progressive (écriture de petites classes, gestion des chaînes de caractères, petite hiérarchie de classes).

Un chapitre particulier est consacré à la récursivité et les structures de données complexes (listes, arbres, piles) font l'objet du dernier chapitre. Une connaissance des principaux concepts du langage Java est un pré-requis à la lecture de ce livre.

Pour les apports théoriques sur ce sujet, Editions ENI édite, dans la collection Ressources Informatiques, le livre " Algorithmique - Techniques fondamentales de programmation". 63 QCM - 84 travaux pratiques et leurs corrigés - Plus de 44 H de mise en pratique.

Biographie de l'auteur
Laurent Debrauwer est docteur en informatique de l'Université de Lille 1. Auteur de logiciels dans le domaine de la linguistique et de la sémantique, il exerce le métier de consultant indépendant en tant que spécialiste de l'approche par objets. Il enseigne la modélisation en UML à l'université de Lille 1 et la programmation en Java à l'université du Luxembourg.

Édition : ENI - 274 pages, 1re édition, 1er octobre 2008

ISBN10 : 2746046180 - ISBN13 : 9782746046184

Commandez sur www.amazon.fr :

25.65 € TTC (prix éditeur 25.65 € TTC)
  • Variables, boucles et instructions de test
  • Tableaux
  • Sous-programmes
  • Objets et classes
  • Les chaînes de caractères
  • Interactions complexes et héritage entre objets
  • Récursivité
  • Structures de données complexes
  • Le langage algorithmique
Critique du livre par la rédaction Olivier Lebeau le 1er octobre 2009
Ce livre est le complément de "Algorithmique : Techniques fondamentales de programmation". La possession des deux livres n'est pas indispensable, mais souhaitable. Dans les énoncés, il est constamment fait appel aux pré-requis pour la compréhension des exercices proposés, vous pouvez acquérir ces pré-requis sur le WEB ou dans ce second livre.

Malgré des débuts difficiles, il faut quelques minutes pour assimiler la façon dont sont énoncés les exercices, j'ai particulièrement apprécié la difficulté croissante des exercices proposés. Les exemples proposés sont réutilisables dans vos créations. On y trouve plein de choses : différents types de tri, des recherches, des fusions de tableaux et même une routine de vérification de palindromes...

Si vous débutez, ce livre vous aidera à faire vos premiers pas et à prendre de bonnes habitudes, si vous n'êtes plus un débutant, vous pourrez toujours mesurer vos compétences et on est parfois surpris.
Pour les premiers corrigés, l'auteur nous donnes l'algorithmique sous forme de texte.
Selon la complexité des codes que l'on retrouve dans les corrigés, l'auteur a inséré des commentaires plus ou moins nombreux.


couverture du livre Compilateurs

Note 5 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Compilateurs

Principes, techniques et outils

de
Traducteurs : Philippe Deschamp, Bernard Lorho, Benoît Sagot et François Thomasset
Public visé : Intermédiaire

Résumé de l'éditeur

Le "Dragon", l'ouvrage de référence en matière de compilation, revient avec une édition entièrement actualisée et qui prend en compte toutes les évolutions récentes du domaine. Les auteurs, enseignants dans les universités américaines les plus prestigieuses, ont adopté une présentation encore plus pédagogique, abondamment illustrée d'exemples concrets et d'exercices. Le livre couvre tous les aspects théoriques et pratiques de la compilation des langages de programmation. Il s'attache également à démontrer la pertinence du recours à la compilation pour résoudre les problèmes les plus fréquemment rencontrés lors de la conception de logiciels de traitement des langages.

Édition : Pearson Education - 923 pages, 2e édition, 1er novembre 2007

ISBN10 : 2744070378 - ISBN13 : 9782744070372

Commandez sur www.amazon.fr :

61.75 € TTC (prix éditeur 61.75 € TTC)
  • Introduction
  • Un traducteur simple en une passe
  • Analyse lexicale
  • Analyse syntaxique
  • Traduction dirigée par la syntaxe
  • Production de code intermédiaire
  • Environnements d'exécution
  • Production de code
  • Optimisations indépendantes de la machine
  • Parallélisme entre instructions
  • Parallélisme et localité des données
  • Analyses interprocédurales
Critique du livre par la rédaction Alp le 1er octobre 2009
Ce livre, communément appelé le Dragon Book, est une référence inconstestable sur la conception de compilateurs. Je le savais avant de le lire, je m'attendais donc à un excellent livre ; je n'ai pas été déçu.

Bien entendu, ce livre traite tous les sujets primordiaux dans la conception d'un compilateur, après une introduction expliquant les différentes phases : analyse lexicale, syntaxique, sémantique, production de code, optimisation de code etc. Toutefois, il y a 2 chapitres dédiés au parallélisme, sujet crucial de nos jours dès que l'on parle de langages de programmation.

Outre le fait que le livre couvre avec excellence les sujets classiques, comme les différentes techniques d'analyse syntaxique, les grammaires, et autres, en accompagnant le tout d'algorithmes et d'exemples en Java, on y apprend régulièrement des petites astuces issues de l'expérience des auteurs. En particulier, ils nous exposent les différences à prendre en considération selon que l'on veuille créer un compilateur pour un langage de haut niveau ou pas, selon le type de portée dont on veut munir le langage, le mécanisme de passage des paramètres, etc.

Après la lecture de ce livre, et un travail sérieux sur son contenu et les exemples, vous serez en mesure de vous lancer dans la conception et la réalisation d'un compilateur. Néanmoins, cela demande beaucoup d'investissement mais en vaut la peine. Vous verrez que même de manière plus globale, la compilation de langages permet de vérifier certaines propriétés et donc de vérifier le code et trouver d'éventuelles failles de sécurité. Donc en résumé, si ce sujet vous intéresse, je vous conseille très fortement ce livre.


couverture du livre L'Intelligence Artificielle pour les développeurs

Note 3.5 drapeau
Détails du livre
Sommaire
Critiques (1)
0 commentaire
 
 

L'Intelligence Artificielle pour les développeurs

Concepts et implémentations en C#

de
Public visé : Intermédiaire

Résumé de l'éditeur

Ce livre sur l'Intelligence Artificielle s'adresse particulièrement aux développeurs et ne nécessite pas de connaissances mathématiques approfondies. Au fil des chapitres, l'auteur présente les principales techniques d'Intelligence Artificielle et, pour chacune d'elles, les inspirations, biologiques, physiques voire mathématiques, puis les différents concepts et principes (sans entrer dans les détails mathématiques), avec des exemples et figures pour chacun de ceux-ci. Les domaines d'application sont illustrés par des applications réelles et actuelles. Chaque chapitre contient un exemple d'implémentation générique, complété par une application pratique, développée en C#. Ces exemples de code étant génériques, ils sont facilement adaptables à de nombreuses applications C#, que ce soit en Silverlight, sur Windows Phone, pour Windows 8 ou pour des applications .Net plus classiques. Les techniques d'Intelligence Artificielle décrites sont : - Les systèmes experts, permettant d'appliquer des règles pour prendre des décisions ou découvrir de nouvelles connaissances. - La logique floue, permettant de contrôler des systèmes informatiques ou mécaniques de manière beaucoup plus souple que les programmes traditionnels. - Les algorithmes de recherche de chemin, dont le A* très utilisé dans les jeux vidéo pour trouver les meilleurs itinéraires. - Les algorithmes génétiques, utilisant la puissance de l'évolution pour apporter des solutions à des problèmes complexes. - Les principales métaheuristiques, dont la recherche tabou, trouvant des optimums à des problèmes d'optimisation, avec ou sans contraintes. - Les systèmes multi-agents, simulant des foules ou permettant des comportements émergents à partir de plusieurs agents très simples. - Les réseaux de neurones, capables de découvrir et de reconnaître des modèles, dans des suites historiques, des images ou encore des données. Pour aider le lecteur à passer de la théorie à la pratique, l'auteur propose en téléchargement sur le site www.editions-eni.fr, sept projets Visual Studio 2013 (un par technique d'Intelligence Artificielle), développés en C#. Chaque projet contient une PCL, pour la partie générique, et une application WPF, pour la partie spécifique à l'application proposée. Le livre se termine par une bibliographie, permettant au lecteur de trouver plus d'informations sur ces différentes techniques, une sitographie listant quelques articles présentant des applications réelles, une annexe et un index. Les chapitres du livre : Avant-propos - Introduction - Systèmes experts - Logique floue - Recherche de chemins - Algorithmes génétiques - Métaheuristiques d'optimisation - Systèmes multi-agents - Réseaux de neurones - Bibliographie - Sitographie - Annexe

Édition : ENI - 484 pages, 1re édition, 1er décembre 2014

ISBN10 : 2746092158 - ISBN13 : 9782746092150

Commandez sur www.amazon.fr :

45.00 € TTC (prix éditeur 45.00 € TTC) livraison gratuite !
Introduction
1. Structure du chapitre
2. Définir l’intelligence
3. L’intelligence du vivant
4. L’intelligence artificielle
5. Domaines d’application
6. Synthèse

Systèmes experts
1. Présentation du chapitre
2. Exemple : un système expert en polygones
2.1 Triangles
2.2 Quadrilatères
2.3 Autres polygones
3. Contenu d'un système expert
3.1 Base de règles
3.2 Base de faits
3.3 Moteur d'inférences
3.4 Interface utilisateur
4. Types d'inférences
4.1 Chaînage avant
4.1.1 Principe
4.1.2 Application à un exemple
4.2 Chaînage arrière
4.2.1 Principe
4.2.2 Application à un exemple
4.3 Chaînage mixte
5. Étapes de construction d'un système
5.1 Extraction des connaissances
5.2 Création du moteur d'inférences
5.3 Écriture des règles
5.4 Création de l'interface utilisateur
6. Performance et améliorations
6.1 Critères de performance
6.2 Amélioration des performances par l'écriture des règles
6.3 Importance de la représentation du problème
7. Domaines d’application
7.1 Aide au diagnostic
7.2 Estimation de risques
7.3 Planification et logistique
7.4 Transfert de compétences et connaissances
7.5 Autres applications
8. Création d’un système expert en C#
8.1 Détermination des besoins
8.2 Implémentation des faits
8.3 Base de faits
8.4 Règles et base de règles
8.5 Interface
8.6 Moteur d'inférences
8.7 Saisie des règles et utilisation
9. Utilisation de Prolog
9.1 Présentation du langage
9.2 Syntaxe du langage
9.2.1 Généralités
9.2.2 Prédicats
9.2.3 Poser des questions
9.2.4 Écriture des règles
9.2.5 Autres prédicats utiles
9.3 Codage du problème des formes géométriques
9.4 Codage du problème des huit reines
9.4.1 Intérêt du chaînage arrière
9.4.2 Étude du problème
9.4.3 Règles à appliquer
9.4.4 Règles de conflits entre reines
9.4.5 But du programme
9.4.6 Exemples d'utilisation
10. Ajout d’incertitudes et de probabilités
10.1 Apport des incertitudes
10.2 Faits incertains
10.3 Règles incertaines
11. Synthèse

Logique floue
1. Présentation du chapitre
2. Incertitude et imprécision
2.1 Incertitude et probabilités
2.2 Imprécision et subjectivité
2.3 Nécessité de traiter l'imprécision
3. Ensembles flous et degrés d’appartenance
3.1 Logique booléenne et logique floue
3.2 Fonctions d'appartenance
3.3 Caractéristiques d'une fonction d'appartenance
3.4 Valeurs et variables linguistiques
4. Opérateurs sur les ensembles flous
4.1 Opérateurs booléens
4.2 Opérateurs flous
4.2.1 Négation
4.2.2 Union et intersection
5. Création de règles
5.1 Règles en logique booléenne
5.2 Règles floues
6. Fuzzification et défuzzification
6.1 Valeur de vérité
6.2 Fuzzification et application des règles
6.3 Défuzzification
7. Exemples d’applications
7.1 Premières utilisations
7.2 Dans les produits électroniques
7.3 En automobile
7.4 Autres domaines
8. Implémentation d’un moteur de logique floue
8.1 Le cœur du code : les ensembles flous
8.1.1 Point2D : un point d'une fonction d'appartenance
8.1.2 FuzzySet : un ensemble flou
8.1.3 Opérateurs de comparaison et de multiplication
8.1.4 Opérateurs ensemblistes
8.1.5 Calcul du barycentre
8.2 Ensembles flous particuliers
8.3 Variables et valeurs linguistiques
8.3.1 LinguisticValue : valeur linguistique
8.3.2 LinguisticVariable : variable linguistique
8.4 Règles floues
8.4.1 FuzzyExpression : expression floue
8.4.2 FuzzyValue : valeur floue
8.4.3 FuzzyRule : règle floue
8.5 Système de contrôle flou
8.6 Synthèse du code créé
9. Implémentation d’un cas pratique
10. Synthèse

Recherche de chemins
1. Présentation du chapitre
2. Chemins et graphes
2.1 Définition et concepts
2.2 Représentations
2.2.1 Représentation graphique
2.2.2 Matrice d’adjacence
2.3 Coût d'un chemin et matrice des longueurs
3. Exemple en cartographie
4. Algorithmes naïfs de recherche de chemins
4.1 Parcours en profondeur
4.1.1 Principe et pseudo-code
4.1.2 Application à la carte
4.2 Parcours en largeur
4.2.1 Principe et pseudo-code
4.2.2 Application à la carte
5. Algorithmes "intelligents"
5.1 Algorithme de Bellman-Ford
5.1.1 Principe et pseudo-code
5.1.2 Application à la carte
5.2 Algorithme de Dijkstra
5.2.1 Principe et pseudo-code
5.2.2 Application à la carte
5.3 Algorithme A*
5.3.1 Principe et pseudo-code
5.3.2 Application à la carte
6. Implémentations
6.1 Nœuds, arcs et graphes
6.1.1 Implémentation des nœuds
6.1.2 Classe représentant les arcs
6.1.3 Interface des graphes
6.2 Fin du programme générique
6.2.1 IHM
6.2.2 Algorithme générique
6.3 Codage des différents algorithmes
6.3.1 Recherche en profondeur
6.3.2 Recherche en largeur
6.3.3 Algorithme de Bellman-Ford
6.3.4 Algorithme de Dijkstra
6.3.5 Algorithme A*
6.4 Application à la carte
6.4.1 Tile et Tiletype
6.4.2 Implémentation de la carte
6.4.3 Programme principal
6.5 Comparaison des performances
7. Domaines d’application
8. Synthèse

Algorithmes génétiques
1. Présentation du chapitre
2. Évolution biologique
2.1 Le concept d'évolution
2.2 Les causes des mutations
2.3 Le support de cette information : les facteurs
2.4 Des facteurs au code génétique
2.5 Le « cycle de la vie »
3. Évolution artificielle
3.1 Principes
3.2 Vue d'ensemble du cycle
3.2.1 Phases d'initialisation et de terminaison
3.2.2 Phase de sélection
3.2.3 Phase de reproduction avec mutations
3.2.4 Phase de survie
3.3 Convergence
4. Exemple du robinet
4.1 Présentation du problème
4.2 Initialisation de l'algorithme
4.3 Évaluation des individus
4.4 Reproduction avec mutations
4.5 Survie
4.6 Suite du processus
5. Choix des représentations
5.1 Population et individus
5.2 Gènes
5.3 Cas d'un algorithme de résolution de labyrinthe
6. Évaluation, sélection et survie
6.1 Choix de la fonction d’évaluation
6.2 Opérateurs de sélection
6.3 Opérateurs de survie
7. Reproduction : crossover et mutation
7.1 Crossover
7.2 Mutation
8. Domaines d’application
9. Implémentation d'un algorithme génétique
9.1 Implémentation générique d'un algorithme
9.1.1 Spécifications
9.1.2 Paramètres
9.1.3 Individus et gènes
9.1.4 IHM
9.1.5 Processus évolutionnaire
9.2 Utilisation pour le voyageur de commerce
9.2.1 Présentation du problème
9.2.2 Environnement
9.2.3 Gènes
9.2.4 Individus
9.2.5 Programme principal
9.2.6 Résultats
9.3 Utilisation pour la résolution d'un labyrinthe
9.3.1 Présentation du problème
9.3.2 Environnement
9.3.3 Gènes
9.3.4 Individus
9.3.5 Programme principal
9.3.6 Résultats
10. Coévolution
11. Synthèse

Métaheuristiques d'optimisation
1. Présentation du chapitre
2. Optimisation et minimums
2.1 Exemples
2.2 Le problème du sac à dos
2.3 Formulation des problèmes
2.4 Résolution mathématique
2.5 Recherche exhaustive
2.6 Métaheuristiques
3. Algorithmes gloutons
4. Descente de gradient
5. Recherche tabou
6. Recuit simulé
7. Optimisation par essaims particulaires
8. Méta-optimisation
9. Domaines d’application
10. Implémentation
10.1 Classes génériques
10.2 Implémentation des différents algorithmes
10.2.1 Algorithme glouton
10.2.2 Descente de gradient
10.2.3 Recherche tabou
10.2.4 Recuit simulé
10.2.5 Optimisation par essaims particulaires
10.3 Résolution du problème du sac à dos
10.3.1 Implémentation du problème
10.3.2 Algorithme glouton
10.3.3 Descente de gradient
10.3.4 Recherche tabou
10.3.5 Recuit simulé
10.3.6 Optimisation par essaims particulaires
10.3.7 Programme principal
10.4 Résultats obtenus
11. Synthèse

Systèmes multi-agents
1. Présentation du chapitre
2. Origine biologique
2.1 Les abeilles et la danse
2.2 Les termites et le génie civil
2.3 Les fourmis et l'optimisation de chemins
2.4 Intelligence sociale
3. Systèmes multi-agents
3.1 L'environnement
3.2 Les objets
3.3 Les agents
4. Classification des agents
4.1 Perception du monde
4.2 Prise des décisions
4.3 Coopération et communication
4.4 Capacités de l'agent
5. Principaux algorithmes
5.1 Algorithmes de meutes
5.2 Optimisation par colonie de fourmis
5.3 Systèmes immunitaires artificiels
5.4 Automates cellulaires
6. Domaines d’application
6.1 Simulation de foules
6.2 Planification
6.3 Phénomènes complexes
7. Implémentation
7.1 Banc de poissons
7.1.1 Les objets du monde et les zones à éviter
7.1.2 Les agents-poissons
7.1.3 L'océan
7.1.4 L'application graphique
7.1.5 Résultats obtenus
7.2 Tri sélectif
7.2.1 Les déchets
7.2.2 Les agents nettoyeurs
7.2.3 L'environnement
7.2.4 L'application graphique
7.2.5 Résultats obtenus
7.3 Le jeu de la vie
7.3.1 La grille
7.3.2 L'application graphique
7.3.3 Résultats obtenus
8. Synthèse

Réseaux de neurones
1. Présentation du chapitre
2. Origine biologique
3. Le neurone formel
3.1 Fonctionnement général
3.2 Fonctions d'agrégation
3.3 Fonctions d'activation
3.3.1 Fonction "heavyside"
3.3.2 Fonction sigmoïde
3.3.3 Fonction gaussienne
3.4 Poids et apprentissage
4. Perceptron
4.1 Structure
4.2 Condition de linéarité
5. Réseaux feed-forward
6. Apprentissage
6.1 Apprentissage non supervisé
6.2 Apprentissage par renforcement
6.3 Apprentissage supervisé
6.3.1 Principe général
6.3.2 Descente de gradient
6.3.3 Algorithme de Widrow-Hoff
6.3.4 Rétropropagation
6.4 Surapprentissage et généralisation
6.4.1 Reconnaître le surapprentissage
6.4.2 Création de sous-ensembles de données
7. Autres réseaux
7.1 Réseaux de neurones récurrents
7.2 Cartes de Kohonen
7.3 Réseaux de Hopfield
8. Domaines d'application
8.1 Reconnaissance de patterns
8.2 Estimation de fonctions
8.3 Création de comportements
9. Implémentation d'un MLP
9.1 Points et ensembles de points
9.2 Neurone
9.3 Réseau de neurones
9.4 IHM
9.5 Système complet
9.6 Programme principal
9.7 Applications
9.7.1 Application au XOR
9.7.2 Application à Abalone
9.7.3 Améliorations possibles
10. Synthèse du chapitre

Bibliographie
1. Bibliographie

Sitographie
1. Pourquoi une sitographie ?
2. Systèmes experts
3. Logique floue
4. Algorithmes génétiques
5. Recherche de chemins
6. Métaheuristiques
7. Systèmes multi-agents
8. Réseaux de neurones

Annexe
1. Installation de SWI-Prolog
2. Utilisation de SWI-Prolog
Index
Critique du livre par la rédaction nico-pyright(c) le 21 juin 2015
Cet ouvrage constitue un point d'entrée pour qui veut découvrir des domaines de l'intelligence artificielle et une façon de l'implémenter en C#. On y parle de thèmes assez divers (systèmes experts, logique floue, recherche de chemins, algorithmes génétiques, métaheuristiques d'optimisation, systèmes multiagents et réseaux de neurones).

Autant le dire tout de suite, c'est une bonne chose de s'être déjà intéressé à l'I.A. auparavant, car malgré des rappels théoriques importants, les concepts abordés sont assez compliqués à appréhender. Malgré tout, l'auteur prend quand même son temps pour y revenir, ce qui est fort appréciable. À noter un très gros avantage de ce livre par rapport à d'autres : il n'y a quasiment pas de math et de formules imbitables ce qui le rend abordable à quelqu'un qui n'a pas fait six ans de FAC …

Cependant, on reste quand même sur une introduction avancée, tant le domaine est vaste.
Le livre est agréable à lire et les exemples de code plutôt bien expliqués. Vous pouvez y aller.




 Commenter Signaler un problème

Avatar de djibril djibril - Responsable Perl et Outils https://www.developpez.com
l 21/06/2015 à 9:38
L'Intelligence Artificielle pour les développeurs
Concepts et implémentations en C#


Ce livre sur l'Intelligence Artificielle s'adresse particulièrement aux développeurs et ne nécessite pas de connaissances mathématiques approfondies. Au fil des chapitres, l'auteur présente les principales techniques d'Intelligence Artificielle et, pour chacune d'elles, les inspirations, biologiques, physiques voire mathématiques, puis les différents concepts et principes (sans entrer dans les détails mathématiques), avec des exemples et figures pour chacun de ceux-ci. Les domaines d'application sont illustrés par des applications réelles et actuelles. Chaque chapitre contient un exemple d'implémentation générique, complété par une application pratique, développée en C#. Ces exemples de code étant génériques, ils sont facilement adaptables à de nombreuses applications C#, que ce soit en Silverlight, sur Windows Phone, pour Windows 8 ou pour des applications .Net plus classiques. Les techniques d'Intelligence Artificielle décrites sont : - Les systèmes experts, permettant d'appliquer des règles pour prendre des décisions ou découvrir de nouvelles connaissances. - La logique floue, permettant de contrôler des systèmes informatiques ou mécaniques de manière beaucoup plus souple que les programmes traditionnels. - Les algorithmes de recherche de chemin, dont le A* très utilisé dans les jeux vidéo pour trouver les meilleurs itinéraires. - Les algorithmes génétiques, utilisant la puissance de l'évolution pour apporter des solutions à des problèmes complexes. - Les principales métaheuristiques, dont la recherche tabou, trouvant des optimums à des problèmes d'optimisation, avec ou sans contraintes. - Les systèmes multi-agents, simulant des foules ou permettant des comportements émergents à partir de plusieurs agents très simples. - Les réseaux de neurones, capables de découvrir et de reconnaître des modèles, dans des suites historiques, des images ou encore des données. Pour aider le lecteur à passer de la théorie à la pratique, l'auteur propose en téléchargement sur le site www.editions-eni.fr, sept projets Visual Studio 2013 (un par technique d'Intelligence Artificielle), développés en C#. Chaque projet contient une PCL, pour la partie générique, et une application WPF, pour la partie spécifique à l'application proposée. Le livre se termine par une bibliographie, permettant au lecteur de trouver plus d'informations sur ces différentes techniques, une sitographie listant quelques articles présentant des applications réelles, une annexe et un index. Les chapitres du livre : Avant-propos - Introduction - Systèmes experts - Logique floue - Recherche de chemins - Algorithmes génétiques - Métaheuristiques d'optimisation - Systèmes multi-agents - Réseaux de neurones - Bibliographie - Sitographie - Annexe

[Lire la suite]


Voir aussi :
La rubrique intelligence artificielle
Le forum intelligence artificielle

 
couverture du livre Algorithmique

Note 3 drapeau
Détails du livre
Sommaire
Critiques (1)
 
 

Algorithmique

Coffret de 2 livres : Maîtrisez les fondamentaux de la programmation (avec des exemples en Java)

de
Public visé : Débutant

Résumé de l'éditeur

Ces deux livres offrent au lecteur un maximum d'informations sur l'algorithmique et plus de 44 H de mise en pratique sous la forme de TP à réaliser (avec leurs corrigés). Le livre de référence de la collection Ressources Informatiques : Algorithmique - Techniques fondamentales de programmation Ce livre s'adresse à toute personne désireuse de maîtriser les bases essentielles de la programmation. Pour apprendre à programmer, il faut d'abord comprendre ce qu'est vraiment un ordinateur, comment il fonctionne et surtout comment il peut faire fonctionner des programmes, comment il manipule et stocke les données et les instructions, quelle est sa logique. Alors, au fur et à mesure, le reste devient évidence : variables, tests, conditions, boucles, tableaux, fonctions, fichiers, jusqu'aux notions avancées comme les pointeurs et les objets. Dans ce livre, le langage algorithmique (ou la syntaxe du pseudo-code des algorithmes) reprend celui couramment utilisé dans les écoles d'informatique et dans les formations comme les BTS, DUT, premières années d'ingénierie à qui ce livre est en partie destiné et conseillé. Une fois les notions de base acquises, le lecteur trouvera dans ce livre de quoi évoluer vers des notions plus avancées : deux chapitres, l'un sur les pointeurs et les références, l'autre sur les objets, ouvrent les portes de la programmation dans des langages évolués et puissants comme le C, le C++ et surtout Java. Une grande partie des algorithmes de ce livre sont réécrits en Java et les sources sont directement utilisables. Le livre de la collection Les TP Informatiques : Algorithmique - Entraînez-vous et améliorez votre pratique de la programmation Ce livre sur l'algorithmique s'adresse à toute personne qui désire améliorer sa maîtrise d'un langage de programmation et en particulier celle du langage Java. Il propose de nombreux exercices pratiques de difficulté variable pour compléter sa pratique de la programmation (construction d'index, calcul d'intersection de rectangles, calcul de la distance entre deux mots, simulation d'une course automobile, mini-interpréteur d'expression). La programmation est introduite d'abord avec les concepts de variables, boucles, tests, tableaux et sous-programmes. La programmation par objets est ensuite abordée de façon très progressive (écriture de petites classes, gestion des chaînes de caractères, petite hiérarchie de classes). Un chapitre particulier est consacré à la récursivité et les structures de données complexes (listes, arbres, piles) font l'objet du dernier chapitre. Une connaissance des principaux concepts du langage Java est un prérequis à la lecture de ce livre.

Édition : ENI - 647 pages, 7 septembre 2009

ISBN10 : 2746051885 - ISBN13 : 9782746051881

17 x 21 1.038Kg

Commandez sur www.amazon.fr :

46.55 € TTC (prix éditeur 49.00 € TTC) livraison gratuite !
  • Introduction à l'algorithmique
  • Les variables et opérateurs
  • Tests et logique booléenne
  • Les boucles
  • Les tableaux et structures
  • Les sous-programmes
  • Les fichiers
  • Notions avancées
  • Une approche de l'objet
Critique du livre par la rédaction prenom nom le 1er janvier 2010
L'avantage du coffret est qu'il regroupe deux livres complémentaires (théorique et pratique)
Sur la forme, j'ai trouvé la mise en page un peu austère (sommaire avec de gros interlignes, marges très fines) qui pourrait rebuter lors d'un rapide survol.
Ce qui serait dommage, car le fond est plutôt intéressant. L'approche est didactique et l'auteur présente les concepts les uns après les autres.
J'ai bien aimé le fait d'avoir à la fois des exemples en pseudo-code et en Java. Le premier rappelle ainsi que l'algorithmique est indépendante des langages d'implémentation. Le deuxième quant à lui est directement testable.
Les exemples sont sur le fond très bien. Je reprocherais une fois de plus la forme (des incohérences de casse, de mauvaises indentations). Il est également regrettable que l'auteur n'ait pas suivi les conventions généralement établies pour ses exemples en Java.

J'ai apprécié que l'auteur introduise assez rapidement la notion de complexité d'un algorithme, malheureusement passée trop souvent sous silence.

Je trouve que le choix du langage Java est parfaitement justifié par l'auteur et il permet en plus d'amener progressivement le lecteur vers la POO en fin d'ouvrage.

Pour être tatillon, je ferais deux petites remarques : j'aurais préféré voir le terme "décimaux" à la place de "réels" et que l'auteur utilise moins la convention (false = 0 et true != 0) même s'il a pris des précautions oratoires.

Mis à part le fait que j'aurais bien aimé des exercices sur la complexité, le livre des exercices est plutôt pratique. De petits questionnaires permettent de vérifier les pré requis et des estimations de durée sont fournies.

Si le coffret est principalement destiné à des débutants et des autodidactes qui pourront tester leur compréhension avec les questionnaires et les exercices corrigés, je le recommande également comme ressource à des enseignants qui devraient donner des cours/TD d'algorithmique.