Systèmes à base de règles
|
|
- Josiane Gaudet
- il y a 8 ans
- Total affichages :
Transcription
1 Systèmes à base de règles 1/100
2 Introduction Méthode classique de représentation de connaissances (1943, règles de production). Souvent utilisé en IA et dans les systèmes experts (semblable aux raisonnements humains?) Forme des règles : SI ANTECEDENTS ALORS CONSEQUENTS ANTECEDENTS représente les prémisses, souvent une conjonction de conditions, parfois des négations ou des disjonctions. CONSEQUENTS représentent des actions à envisager. Souvent l ajout de nouveaux faits. Toujours sous forme de conjonction. La présence de règles de production n implique pas un raisonnement déductif. 2/100
3 Type de systèmes de règle 1. système d ordre 0 : valeurs vrais ou faux (logique propositionnelle). SI il y a douleur ET patient a plus de 40 ans ET système d ordre 0+ : valeurs discrètes et continues. SI symptôme = douleur ET age >= 40 ET système d ordre 1 : instantiation de variables (logique du premier ordre). SI x a une douleur ET x a l âge n ET n > 40 ET... On peut augmenter l expressivité des règles avec négations, quantificateurs, etc. en prenant en compte le fait que cela a un coût. 3/100
4 Cycle du moteur d inférence Évolution Exécution Restriction - sous-ensemble des règles - sous-ensemble des faits Filtrage détermination de l ensemble de conflits Résolution des conflits choix de la (ou des règles) Exécutions des actions des règles Base de faits et base de règles modifiées Actions vers l environnement 4/100
5 Grammaire classique pour des faits Trois ensembles : 1. ensemble N d objets (objet physique ou propriété ou but) ; 2. emsemble P de noms de propriétés sur ces objets ; 3. ensemble V de valeurs possibles sur ces propriétés (valeurs numériques, symboles, objets). Un propriété est un triplet (o, π, v). Souvent, on combine les propriétés sur un même objet : (o, π 1, v 1, π 2, v 2,...). Cette approche se rattache très bien aux langages orientés objets. 5/100
6 Evaluation : phase de restriction Sélection d un sous-ensemble de la base de faits et de la base de règles : basé sur la méta-connaissances ; choix d un domaine (sur certains faits) ; mise en valeur de certaines règles : ancienneté, complexité, valeur,... structuration des faits et règles, méta-règles. 6/100
7 Evaluation : phase de filtrage Pattern-matching. Détermination des règles à déclencher compatibles avec les faits sélectionnés. L ensemble de conflit est l ensemble des instantiations (correspondance entre les prémisses de règles et les faits associés). Très coûteux en temps de calcul (90 % du temps de calcul). 7/100
8 Evaluation : résolution de conflits Sélection parmi les règles compatibles (si il y en a) des règles qui doivent être déclenchées. Stratégies principales : élimination des règles utilisées sur une même donnée (voire de toutes les règles qui ont été déclenchées récemment) éviter les boucles ; utilisation des données ajoutées le plus récemment (exploration «en profondeur») ; utilisation des règles les plus spécifiques : celles qui possèdent le plus de conditions sont préférées aux règles générales ; règles avec les plus de conclusions ; détermination de l intérêt des conclusions. Stratégies utilisant des méta-règles, ou un algorithme du moteur d inférence. 8/100
9 Exécution 2 modes possibles : 1. Régime de contrôle irrévocable ; 2. Régime de contrôle par tentative : retour arrière possible remplacement de règles par d autres. 9/100
10 Chaînage avant DEBUT FIN phase de selection phase de filtrage TANTQUE ensemble des règles applicables non vide ET problème non résolu FAIRE résolution de conflits modification des faits et règles applicables FINTANTQUE 10/100
11 Chaînage avant Inconvénients : 1. déclenche toutes les règles ; 2. demande beaucoup de faits initiaux (manque d interactivité) ; 3. explosion combinatoire possible (en largeur). 11/100
12 Exemple Fait initiaux : {B,C}, but : H. Règles : Si B et D et E alors F. Si G et D alors A. Si C et F alors A. Si B alors X. Si D alors E. Si X et A alors H. Si C alors D. Si X et C alors A. Si X et B alors D. 12/100
13 Chaînage arrière DEBUT FIN Phase de selection ; phase de filtrage SI ensemble de règles applicable vide ALORS questionner utilisateur SINON TANTQUE but non résolu ET il reste des règles sélectionnées FAIRE Résolution de conflits Ajouter les sous-buts Résoudre les sous-buts si possible FINTANTQUE 13/100
14 Chaînage arrière Algorithme plus compliqué (construction d un arbre ET/OU). Système interactif à la demande (distinguer faits demandables et non demandables). Arbre de recherche plus petit. Risque de bouclage. 14/100
15 Langages avec systèmes de règles Langages à chaînage arrière : dérivés Prolog... Langages à chaînage avant : par exemple CLIPS, Jess, drools... Selon les cas, on parle d expert system shells ou de business rules management systems (BRMS), ou de production rule systems... 15/100
16 Drools Drools ou JBoss Rules. en Java ; gratuit, code source ouvert ; intégrable dans Eclipse. Fondé sur la spécification JSR-94 qui décrit l API entre Java et les systèmes de règles. 16/100
17 Bases de Drools 1. Des fichiers java : définition des classes ; analyse et compilation des fichiers drools ; création, initialisation de la base de faits ; lancement des règles. 2. Un fichier Drools (.drl) (un format XML existe aussi) : description des règles. 17/100
18 Drools : faits Objets (beans) ajoutés dans la «base de faits». public static class Etudiant { private string name; public Etudiant () { } public string getname () { return this.name; } } public void setname (string name) { this.name = name; } session.insert (new Etudiant ()); 18/100
19 Ajouter des faits Ajouter un fait : dans du code Java : interface WorkingMemoryEntryPoint : insert(object) (retourne un FactHandle). dans du code Drools (partie droite des règles) : rule "Ajouter un etudiant" when then insert (new Etudiant ()); // macro vers l interface KnowledgeHelpe end Note : on ne peut pas insérer deux fois un même objet (mais selon la configuration générale, on peut insérer ou non deux objets «égaux»). 19/100
20 Retirer un fait Retirer un fait : dans du code Java : retract(facthandle). dans du code Drools : rule "Retirer un etudiant" when $e : Etudiant ( ) // préfixer les déclarations par $ est optionnel then retract ($e); // encore un fois, macro 20/100
21 Modifier un fait dans du code Java : après modification de l objet, update(facthandle,object) (interface WorkingMemoryEntryPoint dans du code Drools : rule "Modifier le nom" when $e : Etudiant ( ) then $e.setname ("Raoul"); update ( e ); // macro end L appel à update est nécessaire pour assurer la modification des règles activables. 21/100
22 Règles Syntaxe : rule <nom> <attributs>* when <premisses>* (LHS) then <actions>* (RHS) end Exemple : rule "J ai vu un etudiant" when e : Etudiant ( ) then System.out.println ("J ai vu " + e.getname() + " aujourd hui."); end 22/100
23 LHS : contraintes Contraintes : when $e : Etudiant ( name == "machin" ) then... end L utilisation de name est subordonnée à l existence du getter getname. On peut utiliser aussi des «accesseurs» (méthodes sans paramètres), sans mettre les parenthèses (eg calculeage ()). Plusieurs contraintes : when $e : Etudiant ( name == "machin" calculeage > 25 ) then... 23/100
24 LHS : déclaration de variables dans les faits when $e1 : Etudiant ( $age : calculeage > 20 ) $e2 : Etudiant ( calculeage > $age ) then 24/100
25 LHS : autres dans les contraintes (non exhaustif) Connecteurs logiques : &&,. Opérateurs : <, <=, >, >=, ==,!=, contains, not contains, memberof, not memberof, matches, not matches, soundslike. Type des valeurs pour les restrictions litérales : numérique, date, chaîne, booléen, enum. On peut mettre des expressions entre parenthèses : Person( girlage : age, sex == "F" ) Person( age == ( girlage + 2) ), sex == "M" ) cf la doc en ligne de Drools : ( FINAL/drools-expert/html/index.html). 25/100
26 LHS : autres éléments conditionnels Quelques exemples : eval( isvalid(p1, p2) ) // evaluation de code Java (peu optimal car variab not Etudiant( ) // négation d une contrainte Personne () or Etudiant () // disjonction, produit deux sous-règles exists Etudiant () // règle activée _une_ fois si on a un ou plusieurs étudi On trouve aussi forall (teste si une condition implique les autres), from (pour chercher au-delà de la base de fait), collect (créer/utiliser des collections de faits), accumulate (itération sur une collection de faits). Cf la doc en ligne de Drools. 26/100
27 RHS Liste d actions à exécuter (en Java). Inadapté pour mettre des structures de contrôle (hors séquence) : les actions doivent rester élémentaires. Quelques macros supplémentaires gérer la base de faits : insert, retract, update, insertlogical (voir plus loin). 27/100
28 Algorithme de Rete Principe : calcul de l ensemble de conflit plus vite, en prenant plus de mémoire. Deux idées principales : 1. Les prémisses de nombreuses règles sont communs, on peut donc mettre des tests communs (ressemblance structurelle). 2. La base de travail ne change pas beaucoup entre deux cycles du moteur (redondance temporelle). 28/100
29 RETE : vue de haut niveau Création et mise à jour d un «réseau», graphe orienté acyclique avec une racine. chaque nœud est un «pattern» on garde pour chaque nœud les informations pour satisfaire le «pattern» (faits, relations entre variables et valeurs) chaque chemin depuis la racine représente d abord un prémisse de règles, puis la conjonction de ces prémisses pour arriver à une règles. 29/100
30 Exemple Avec la syntaxe de drools : rule "regle1" when Animal (type == Type.CAT, $c : color, size == Siz.SMA, $h : hair) Animal (type == Type.DOG, color == $c, $q : size, hair == Hair.MED) Animal (type == Type.DOG, color!= $c, size == $q, hair == $h) then... end rule "regle2" when Animal (type == Type.CAT, $c : color, size == Siz.SMA, $h : hair) Animal (type == Type.CAT, color == $c, size == Siz.LAR, hair!= $h) then... end 30/100
31 Réseau début Animal type = CAT type = DOG size = LAR size = SMA hair = MED C1 Join (color = color hair!= hair) Join (color = color) Join (color!= color, size = size, hair = hair) Regle 2 Regle 1 31/100
32 Exemple avec base de faits s.insert (new Animal (Type.CAT,Col.BRO,Siz.LAR,Hair.SHO)); // a1 s.insert (new Animal (Type.CAT,Col.WHI,Siz.LAR,Hair.SHO)); // a2 s.insert (new Animal (Type.CAT,Col.WHI,Siz.SMA,Hair.SHO)); // a3 s.insert (new Animal (Type.DOG,Col.BRO,Siz.MED,Hair.MED)); // a4 s.insert (new Animal (Type.CAT,Col.BRO,Siz.SMA,Hair.MED)); // a5 s.insert (new Animal (Type.DOG,Col.BRO,Siz.SMA,Hair.SHO)); // a6 s.insert (new Animal (Type.DOG,Col.WHI,Siz.MED,Hair.MED)); // a7 s.insert (new Animal (Type.DOG,Col.BRO,Siz.LAR,Hair.MED)); // a8 s.insert (new Animal (Type.DOG,Col.WHI,Siz.LAR,Hair.MED)); // a9 32/100
33 Réseau début {a1,...,a9} Animal {a1,a2,a3,a5} type = CAT type = DOG {a4,a6,a7,a8,a9} size = LAR size = SMA hair = MED {a1,a2} {a3,a5} {a4,a7,a8,a9} {a3,a5} C1 { (a1,a5) } Join Join (color = color) (color = color { (a3,a7) hair!= hair) (a3,a9) (a5,a4) Regle 2 (a5,a8) } Regle 1 Join (color!= color, size = size, hair = hair) { (a5,a4,a7) (a5,a8,a9) } 33/100
34 Salience : priorité des règles Un attribut important pour les règles, la salience : rule "les oiseaux volent" when $o : Oiseau ( ) then System.out.println ($o.getname() + " peut voler."); retract ( $o ); end rule "les manchots ne volent pas" salience 10 when $o : Oiseau ( type = "Manchot" ) then System.out.println ($o.getname() + " ne peut pas voler."); retract ( $o ); end 34/100
35 Salience (bis) La salience est un moyen de hiérarchiser les règles prioritaires. Ne pas abuser, par exemple 4 niveaux : 1. règles de réduction des hypothèses ; 2. connaissance du domaine (inférences) ; 3. interrogation de l utilisateur ; 4. transitions de phase (d étapes du programme). D autres méthodes (partition de l agenda, flot de règles) sont possibles. 35/100
36 Stratégies de Drools Pour des règles de même salience : Stratégies en profondeur (règles activées le plus récemment, stratégie par défaut en Drools), en largeur (règles activées le plus anciennement). Stratégies de simplicité ou complexité. Stratégie aléatoire. et d autres... 36/100
Les BRMS Business Rules Management System. Groupe GENITECH
Les BRMS Business Rules Management System 1 Présentations Emmanuel Bonnet ebonnet (at) genigraph.fr Responsable Dpt Conseil Consultant, Expert BRMS Formateur IBM/Ilog JRules / JBoss Rules Génigraph SSII
Plus en détailIntelligence Artificielle Planification
Intelligence Artificielle Planification Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailIntelligence artificielle appliquée à l automatique
Intelligence artificielle appliquée à l automatique par Sylviane GENTIL Professeur à l École nationale supérieure d ingénieurs électriciens Institut national polytechnique de Grenoble 1. Définitions et
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailIntelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com
Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines
Plus en détailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailExpression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détail2. Comprendre les définitions de classes
Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux
Plus en détailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détail3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailArchitecture des Systèmes d Information Architecture des Systèmes d Information
Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailBig Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université
Plus en détailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailCours de Master Recherche
Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction
Plus en détailJade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailManuel Viadeis CRM Connecteur intégration L100 étendue.
Référence : [N de ref.] Version N : [N de version] Créé le : 20/04/2012 Créé par : Téléphone : Grégori DESAI [Téléphone] Sommaire 1 Vue d ensemble du flot de données... 4 2 Installation du connecteur...
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailThéorie des Langages
Théorie des Langages Analyse syntaxique descendante Claude Moulin Université de Technologie de Compiègne Printemps 2010 Sommaire 1 Principe 2 Premiers 3 Suivants 4 Analyse 5 Grammaire LL(1) Exemple : Grammaire
Plus en détailXML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)
Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailOASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication
Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité
Plus en détailPourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Plus en détailIngénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau
labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailCréation d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailProgrammation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006
vendredi 8 septembre 2006 Programmation d'agents intelligents Vers une refonte des fils de raisonnement Stage de fin d'études Master IAD 2006 Benjamin DEVEZE Responsable : M. Patrick TAILLIBERT Plan Plan
Plus en détail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
Plus en détailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailExcel 2007 Niveau 3 Page 1 www.admexcel.com
Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailCours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Plus en détail1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7
Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application
Plus en détailÉvaluation et optimisation de requêtes
Évaluation et optimisation de requêtes Serge Abiteboul à partir de tranparents de Philippe Rigaux, Dauphine INRIA Saclay April 3, 2008 Serge (INRIA Saclay) Évaluation et optimisation de requêtes April
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailBig Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailSQL Parser XML Xquery : Approche de détection des injections SQL
SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des
Plus en détailRaisonnement probabiliste
Plan Raisonnement probabiliste IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Réseaux bayésiens Inférence dans les réseaux bayésiens Inférence exacte Inférence approximative 1 2 Contexte
Plus en détailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Plus en détailAlgorithmes récursifs
Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailFormula Negator, Outil de négation de formule.
Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente
Plus en détailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailPréparation à l examen EFA en Macro
Préparation à l examen EFA en Macro Exercice sur les macros en Word / Excel Les questions suivantes doivent constituer un bref rafraîchissement et vous aider à situer le niveau de vos connaissances : Question
Plus en détailSystème de contrôle du trafic d une ligne de métro Dossier de tests
Système de contrôle du trafic d une ligne de métro Dossier de tests Tests NI557/STL/M2/INFO/UPMC Action Date Auteur Statut Création 05/03/2012 P.Manoury En cours 1 Description et exigences fonctionnelles
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailAlgorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailVérification et Validation
Vérification et Validation Génie Logiciel Master 1 II Mihaela Sighireanu Objectifs I. Introduire la vérification et la validation (V&V) du logiciel et comprendre leurs différences. II.Définir le plan de
Plus en détailMardi 9 septembre 2008. www.parisjug.org. www.parisjug.org
Mardi 9 septembre 2008 www.parisjug.org www.parisjug.org Copyright 2008 ParisJug. Licence CC Creative Commons 2.0 France Paternité Pas d'utilisation Commerciale Partage des Conditions Initiales à l'identique
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailSystèmes d information et bases de données (niveau 1)
Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel
Plus en détailGrammaires d unification
Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les
Plus en détailApprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
Plus en détail6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailClasse Interne, Anonyme & Enumération
Java Avancé Classe Interne, Anonyme & Enumération Rémi Forax forax@univ-mlv.fr 1 Rappel Nous nous intéressons aujourd'hui à deux formes de type abstrait en Java Les interfaces Les classes abstraites Les
Plus en détailApache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011
Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB
Plus en détailGestion mémoire et Représentation intermédiaire
Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailProgrammation Par Contraintes
Programmation Par Contraintes Cours 2 - Arc-Consistance et autres amusettes David Savourey CNRS, École Polytechnique Séance 2 inspiré des cours de Philippe Baptiste, Ruslan Sadykov et de la thèse d Hadrien
Plus en détailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailInitiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Plus en détail