Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Intelligence artificielle

3,896 views

Published on

Published in: Technology
  • Be the first to comment

Intelligence artificielle

  1. 1. *Réalisé par :Zaibi Mohammed
  2. 2. **Historique d’inférences*Pourquoi recourir à un moteur de règles ?*Programmation logique*Résumé d’un comparatif des moteurs de règles*Drools: Moteurs de règles * Offre Drools * Expert, Flow (jBpm), Planer, Fusion(Event Processing), (BRMS/BPMS) * Les alternatives*Démonstration
  3. 3. ** Moteur de règles est un système capable * de définir des règles (= traitement) * et de les appliquer à des faits ( = données)* Moteur d’Inférence * opération mentale, ou jugement, qui consiste à tirer une conclusion * sur des propositions tenues pour vraies (prémisses) * à partir de règles de base * en concluant à la vérité* 3 types dinférence : * la déduction : utiliser dans la programmation logique * linduction : loi générale à partir d’observations * labduction : hypothèse explicative d’une observation Charles Sanders Peirce formalisés par Peirce en 1903 Philosophe américain 1839-1914 3
  4. 4. * Programmer • Dire « ce que je fais » plutôt que « comment je fais » de manière déclarative • Décrire les règles métiers sous une forme compréhensible par les personnes • Les règles métiers du code de l’application Externaliser • Les règles métiers deviennent indépendantes de la génération du logiciel Appliquer à chaud • Un changement des règles métiers au sein de l’application • Proposer une interface utilisateur pour administrer les règles métiers Administrer • Créer de la souplesse au niveau de l’administration Centraliser la gestion • Centraliser les règles métiers dans un dépôt particulier • Centraliser la gestion de la connaissance • Partager avec d’autres applications de la connaissance • Conserver et ré-exploiter l’historique des règles métiers 4
  5. 5. * * Moteur d’inférence * Séparer les traitements des données (Règles et faits) * Faire de la programmation déclarative (qu’est ce que je fais plutôt que comment je fais) * Rapidité et dimensionnement (l’algorithme RETE pour trouver les règles en fonction de vos objets métiers) * Centralisation et gestion de la connaissance (règles compréhensible par l’humain) 5
  6. 6. * *Solutions envisagées: *Solutions écartées: * Jess « Licence commerciale, pas utilisable pour un site eCommerce commerciale » * Groovy Rules « Pas prêt pour la production » 6
  7. 7. * *Drools – superstar mais trop complexe 7
  8. 8. * *Java Rules Engines, exemple de règle: *Dommage de faire du XML pour faire des if/then/else 8
  9. 9. * *Java Rules Engines 9
  10. 10. * 10
  11. 11. * * Expert * Contient l’implémentation du moteur * algorithme de RETE * La gestion des règles * Langage MVEL * Permet de lancer le moteur en java À partir de fichier * DRL : liste des règles * DSL : contient le langage métier si utiliser * DSLR : liste des règles en langage DSL 11
  12. 12. * * Démonstration * smart-content-selection 12
  13. 13. * * Guvnor * Gère les règles suivant différents environnements * Avec une interface graphique * Se repose sur Drools Expert * Hiérarchisation des règles * Qui peut utiliser Guvnor * Expert fonctionnel * Expert ou administrateurs de règles * Développeurs * Quand utiliser Guvnor * Gérer des versions et des déploiements * Ne pas appeler les développeurs * Non lié au déploiement du cœur applicatif 13
  14. 14. * * Guvnor – interface d’administration Web (Business Rules Management System) 14
  15. 15. * * Drools Planner * Moteur de planification automatique * grâce à la définition de contraintes * solver calcule et propose des solutions 15
  16. 16. * * jBPM/ Flow – Moteur de workflow * Les règles peuvent être écrite en MVEL (ou java) * Le moteur d’inférence est celui de Drools 16
  17. 17. * * Fusion – Gestion des événements * Centré sur le timing des événements * Cas d’utilisation * Bourse : trading * Tarif téléphonique * Détection de fraude *… * Algorithme CEP * Complex Event Processing * système d’évènement proche de CEP avec la possibilité de gérer des évènement changeant dans le temps. 17

×