Intelligence artificielle appliquée à l automatique

Dimension: px
Commencer à balayer dès la page:

Download "Intelligence artificielle appliquée à l automatique"

Transcription

1 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 concepts de base... R Définitions Différences avec la programmation traditionnelle Techniques informatiques de représentation des connaissances Logique Logique classique Logique floue Résolution de problème par parcours de graphe Systèmes de production Représentations centrées objets, réseaux sémantiques Aspects particuliers du développement informatique Architecture générale d un système à base de connaissances Acquisition des connaissances auprès d un expert Problèmes de temps réel Domaines d application de l intelligence artificielle pour l automatique Intelligence artificielle et conception de systèmes de commande Intelligence artificielle et commande : la logique floue et les réseaux de neurones Intelligence artificielle et supervision Supervision des boucles locales Supervision globale Le raisonnement qualitatif Le raisonnement causal Conclusion Références bibliographiques L intelligence artificielle (IA) est une ramification de l informatique qui a suscité bien des enthousiasmes, mais aussi des réactions de rejet et, en conséquence, des polémiques, probablement à cause de l usage d un vocabulaire anthropomorphique qui a pu prêter à confusion. Les automaticiens ont eu, en général, une attitude assez réservée et ce n est que depuis peu que cette discipline est autorisée à figurer dans la boîte à outil de l ingénieur à côté des moyens traditionnels que sont la modélisation mathématique des procédés industriels, l identification de modèles simplifiés, la panoplie des méthodes de commande par calculateur et l informatique industrielle. En réalité, si l automatique fait appel à un arsenal de méthodes mathématiques parfois complexes, sa mise en œuvre nécessite aussi un grand savoir-faire. Pour préserver et exploiter ce savoir-faire, l automaticien peut penser que l intelligence artificielle lui sera utile. Techniques de l Ingénieur, traité Mesures et Contrôle R

2 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE Par ailleurs, compte tenu du grand nombre d hypothèses simplificatrices nécessaires à la conception des boucles de commande pour un procédé un tant soit peu complexe, lors de l exploitation en ligne de tous ces algorithmes, un système de surveillance, lui-même supervisé par des opérateurs humains, vérifie en permanence la validité des actions entreprises. C est donc un humain, in fine, qui est responsable de l installation. Peut-on envisager de lui associer un «partenaire» informatique ou encore de le remplacer? On est, là encore, devant un domaine potentiel d application de l intelligence artificielle à l automatique. Nous verrons dans cet article la définition et les concepts de base de cette discipline. Nous étudierons les techniques de représentation des connaissances utiles à l automatique et les aspects particuliers du développement informatique en passant en revue les domaines d applications les plus actifs. 1. Définitions et concepts de base 1.1 Définitions Qu entend-on exactement par intelligence artificielle (souvent notée IA)? La définition rigoureuse d un terme complexe et très répandu est un exercice périlleux, aussi nous contenterons-nous de donner quelques points de vue, un historique (encadré) et des domaines d application pour éclairer ce terme. Il s agit, entre autres, de simuler le raisonnement humain pour faire résoudre des problèmes complexes par un ordinateur. On doit avoir l impression que la machine se comporte comme un partenaire et même, parfois, de façon complètement autonome. Le célèbre test que Turing, précurseur de l intelligence artificielle [1], avait proposé, était fondé sur cette idée : on suppose qu un individu et une machine peuvent indifféremment répondre à des questions posées par une deuxième personne située à une certaine distance et qui n a aucun moyen matériel de savoir qui, de la machine ou de l homme, lui répond ; si cette personne ne devine pas que son interlocuteur est un ordinateur, on pourra dire que celui-ci est doté d intelligence. Évidemment, toutes les réalisations actuelles sont bien loin de pouvoir passer ce test. On peut encore citer, parmi les approches de l intelligence artificielle, celle de Nilsson qui avançait l hypothèse qu il y a des processus de pensée et de perception que l on peut étudier scientifiquement, peu importe si ce sont ceux d un homme ou d une machine. Dans cette vision, l intelligence artificielle est reliée aux sciences cognitives, c est-à-dire à l étude des mécanismes de compréhension, l ordinateur étant le moyen expérimental de mettre en œuvre ces mécanismes et de les analyser [1]. Si l on veut être plus concret et donner une définition plus proche de la mise en œuvre de l intelligence artificielle, on dira qu on vise à construire un système formel. Celui-ci est composé de symboles, d expressions construites à partir de ces symboles, et de processus capables de détruire, modifier, créer de nouvelles expressions. On voit donc ici apparaître l idée d un langage informatique au sens traditionnel du terme. Ce langage doit être compréhensible par un humain, si l on veut qu il y ait effectivement partenariat avec la machine. C est cette interprétabilité qui va donner l illusion d intelligence, le traitement de l information en lui-même, comme dans tout algorithme, est parfaitement automatique et, donc, peut-on dire, stupide. Une approche plus récente de l intelligence artificielle vise à simuler non plus les capacités humaines de raisonnement, mais le traitement de l information dans le cerveau, par un circuit électronique élémentaire, modèle du neurone humain. C est le grand nombre de circuits élémentaires utilisés, tous interconnectés, qui reproduit cette fois l intelligence. La plupart du temps, dans l approche connectioniste, les circuits neuronaux sont simulés sous forme d algorithmes et l on donne une réalisation logicielle du modèle de l intelligence, même si cette approche présente surtout de l intérêt dans une réalisation matérielle [2]. Historique On peut considérer que l intelligence artificielle, c est-à-dire l idée que des machines sont à l image de l homme dans ce qu il a de plus spécifique, est un rêve très ancien puisque, déjà, dans l Odyssée, Ulysse trouve chez la magicienne Circée des esclaves intelligents et dociles qui sont des robots et non des hommes. Certains automates mécaniques du XVIII siècle reproduisent avec raffinement des mouvements complexes : le canard de Vaucanson ne comporte pas moins de pièces. Toutefois il faut attendre les années 1930 pour que certains mathématiciens fassent progresser la logique (analyse des fondements mêmes des raisonnements mathématiques) et les années 1950 pour que les calculateurs investissent le domaine civil. Ces deux outils rassemblés vont provoquer la naissance de l IA, terme introduit en 1954 par McCarthy [1]. S il est intéressant de remarquer que c est à cette époque que naissent parallèlement le calcul scientifique (manipulation de nombres) et le calcul formel (manipulation de symboles), il faut bien reconnaître que cette deuxième voie n a cependant pas eu les succès rapides de la première. A ses débuts, l IA s est caractérisée par la description exhaustive de problèmes simples et généraux. On compte sur les capacités de mémoire des ordinateurs et leur capacité de calcul pour engendrer beaucoup de solutions, les comparer et choisir la meilleure. Cela a conduit rapidement à l explosion combinatoire, même si la puissance des machines a été démultipliée en très peu de temps. Les années 1970 voient naître le concept de système expert. C est un système dédié à la résolution d un problème très particulier, grâce à la représentation des connaissances spécialisées du domaine. L intelligence devient alors synonyme de prise de décision dans un contexte difficile, en gérant des incertitudes ou des informations incomplètes, voire contradictoires : ce que l on résume par expertise, par opposition aux connaissances simples et rigoureuses que l on traitait dans les premières applications. Les années 1980 sont les années de la pénétration industrielle et de l engouement général. Ainsi les Japonais lancent leur projet national d ordinateurs de la 5 ème génération. Le langage PROLOG, implémentant directement des inférences logiques, se développe et se répand rapidement. Ce phénomène de mode se stabilise dans les années On assiste alors à l émergence de vastes secteurs d application, dont l automatique est un des plus actifs [3, 4]. R Techniques de l Ingénieur, traité Mesures et Contrôle

3 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE L intelligence artificielle, comme nous l avons déjà remarqué en encadré, s est développée en parallèle avec le calcul numérique et non en concurrence avec celui-ci. Elle s attaque donc à des secteurs d application réputés difficiles ou impossibles pour celui-ci. Nous pouvons citer parmi les principaux : le calcul formel ; la vision : analyse de texte, d images ; la robotique : génération de plans ; les machines autonomes : perception, interprétation, décision, action ; le langage naturel : traduction, compréhension, synthèse ; la démonstration de théorèmes ; les jeux ; la représentation des connaissances dans diverses disciplines (droit, médecine, automatique...). Insistons sur la complémentarité de l intelligence artificielle avec le traitement numérique. En général, elle se situe à un niveau hiérarchique de traitement de l information différent. Par exemple, en vision, on continue à utiliser les algorithmes classiques de traitement d images (acquisition, filtrage, segmentation...). C est pour l interprétation d une scène, quand le contexte peut être changeant (nombreuses pièces mécaniques à trier, site inconnu à analyser...), que les techniques symboliques ou connectionistes sont employées. De même, en robotique, on continue à utiliser les algorithmes de l automatique classique pour la commande de bas niveau des mécanismes. L intelligence artificielle intervient si le robot doit interpréter un environnement changeant, plutôt que répéter à l infini les mêmes gestes et, éventuellement, se redonner à luimême d autres objectifs (replanification de sa trajectoire, par exemple, en cas d obstacle). 1.2 Différences avec la programmation traditionnelle L intelligence artificielle est fondée sur des algorithmes de nature très différente de la programmation traditionnelle (calcul scientifique), ce qui est logique puisque ces deux ramifications de l informatique ont des objectifs et des domaines d application très distincts. L intelligence artificielle s attaque à la manipulation de symboles plutôt que de nombres. Ces symboles sont interprétables par l utilisateur. On dit qu ils constituent les connaissances relatives à un domaine. C est dans l intérêt que représente pour un humain l interprétation des résultats inférés (déduits) par le programme que réside l intelligence. Les algorithmes sont fondés sur la simulation de mécanismes de raisonnement. L analyse des divers modes de raisonnement humain permet de déduire des modèles implémentables sous forme d algorithmes. Chaque catégorie de problème est reliée à un ou des modes de raisonnement particuliers adaptés à sa solution. Les connaissances sont manipulées à travers le mode de raisonnement. On peut faire le parallèle, dans la programmation classique, avec la structure de données et les algorithmes de calcul. Le mode de programmation est déclaratif par opposition à l écriture habituelle d un programme (mode procédural). Cela signifie que l on sépare clairement les connaissances (symboles) à manipuler, d un côté, et les mécanismes de manipulation, dits mécanismes d inférence, de l autre : ces mécanismes permettent l ajout, la modification, la suppression... de connaissances, jusqu à ce qu une conclusion pertinente soit trouvée. La programmation procédurale organise les tâches de la machine d une façon séquentielle prédéfinie, à partir d une structure de données. En programmation déclarative, plusieurs opérations sont possibles au même moment (on dit que le problème est non déterministe) ; un mécanisme de contrôle décide en ligne laquelle effectuer (en fonction, par exemple, d un contexte de travail ou de résultats partiels déjà établis). L intérêt de la programmation déclarative est de permettre de faire évoluer facilement la base de connaissance, sans avoir à retoucher aux mécanismes d inférence et de contrôle. En effet, celle-ci est éclatée sous forme de modules élémentaires que l on peut écrire dans n importe quel ordre. Ce mode d écriture convient donc particulièrement aux domaines évolutifs, qui sont difficiles à cerner en une fois (problèmes avec de nombreux cas particuliers ou problèmes mal connus d avance). Elle garantit une meilleure lisibilité et une meilleure maintenabilité du programme. De plus, elle permet de faciliter les explications fournies par le programme lui-même, grâce à la trace des connaissances manipulées. Son inconvénient réside dans la lenteur inévitable des algorithmes, bien que de nombreux travaux portent sur leur accélération. Les connaissances peuvent être descriptives, assertionnelles ; elles énoncent des faits (base de faits), par exemple : A est vrai. Elles peuvent être relationnelles, opératoires ; dans ce cas, elles mettent en relation plusieurs faits, par exemple : A entraîne B. L ensemble constitue la base des connaissances. Les connaissances relationnelles peuvent être superficielles (liens directs, difficiles à justifier ou à expliquer) ou profondes (fondées sur une théorie de domaine). Les techniques informatiques de représentation des connaissances sont diverses : graphes, règles de production, objets, prédicats, réseaux... et font l objet du paragraphe 2. Par sa façon d enchaîner dynamiquement des inférences, les déductions élémentaires, le mécanisme d inférence reproduit un raisonnement. Le modèle mathématique de base de l inférence élémentaire est fondé sur la logique classique. Par exemple : ( A B) ( A est VRAI) ( B est VRAI) Pour traduire toutefois les nuances du raisonnement humain et le fait que les problèmes complexes ont rarement des solutions binaires, on a été amené à introduire d autres modèles d inférence. La logique floue [5] en est probablement le plus célèbre (raisonnement sur des connaissances vagues, interpolation symbolique/numérique, commande floue), mais citons encore les logiques modales (représentation du savoir, représentation du temps), la logique possibiliste (système hybride symbolique/numérique pour représenter des informations incertaines ou incomplètes), les logiques non monotones (représentation d informations révisables)... Les modèles de raisonnement commencent à être extrêmement variés. Si l on considère rapidement quelques exemples d application en automatique, on pourrait avoir besoin d évaluer des conséquences (modification de la structure d une boucle de commande), de retrouver des causes (cas du diagnostic de défauts), de choisir une méthode appropriée (cas de l identification, par exemple). Ces raisonnements portent sur des données incertaines ou hypothétiques, imprécises ou incomplètes. On rencontre quelques catégories de raisonnement génériques, adaptées à des applications dans n importe quel domaine : le raisonnement déductif (rendre explicites des connaissances implicites) ; le raisonnement abductif (rechercher des causes plausibles à des manifestations) ; le raisonnement inductif (construire des lois, des concepts à partir d exemples) ; le raisonnement analogique (rapprochement entre situations particulières) ; le raisonnement hypothétique ou par défaut (pallier le manque d information par des hypothèses explicites ou implicites). Techniques de l Ingénieur, traité Mesures et Contrôle R

4 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE Il y a d autres catégories de raisonnement spécifiques, adaptées à des applications bien particulières : le raisonnement temporel (gérer le temps pour la planification ou la simulation d événements datés, conduite d ateliers de production, par exemple) ; le raisonnement spatial et géométrique (pour la robotique, par exemple) ; le raisonnement causal (propager des causes pour en trouver les effets ou encore remonter de l observation d un effet à sa cause possible) ; le raisonnement qualitatif (décrire le comportement de systèmes physiques à l aide d ordres de grandeurs symboliques). 2. Techniques informatiques de représentation des connaissances Exemple : «mortel (Socrate)» est une instance de «mortel (homme)» Une proposition est la combinaison d un certain nombre de prédicats. Une proposition atomique est non décomposable. La valeur d une proposition dépend de la valeur de ses parties, que l on compose avec des règles de calcul précises. Calcul est pris ici dans le sens de savoir si une proposition est vraie ou fausse et de décrire les moyens d inférer (déduire) les valeurs de vérité de nouvelles propositions à partir de celles déjà connues. Ce calcul ne retient que la forme des propositions (valeur de vérité des prédicats et connecteurs utilisés) et non leur sens. C est la logique formelle, que l on pourra automatiser, puisqu elle ne retient que la forme des expressions. L utilisation de la logique formelle en intelligence artificielle, pour faire des déductions intéressantes, associe aux propositions une sémantique (un sens dans un univers de discours). On a alors une interprétation des propositions, qui affecte une valeur VRAI/FAUX à chaque proposition, dans l univers de discours ou domaine d interprétation D. Un prédicat d arité n est alors une application de D n dans {VRAI, FAUX}. Le problème de la représentation des connaissances est fondamental en intelligence artificielle, puisque c est la possibilité d interprétation de ces connaissances par un humain qui donne l apparence d intelligence à la machine. On trouve de nombreux outils, très divers et, bien sûr, adaptés à des catégories de problèmes différentes. La logique est certainement l outil le plus fondé mathématiquement, qui autorise une mise au même niveau de toutes les connaissances manipulées par la machine, et pour lequel des langages adaptés ont été créés. Toutefois certains problèmes se prêtent bien à une énumération systématique de moyens élémentaires de résolution ; alors le parcours d un graphe est un bon outil de représentation pour engendrer les diverses solutions potentielles. D autres cas correspondent à de nombreuses solutions particulières décrivant les variantes d un problème complexe, au moyen de connaissances très spécialisées qu on qualifie parfois d expertise ; alors les règles de production sont un moyen efficace de coder cette connaissance. Enfin lorsqu on travaille sur un univers plus structuré, où des objets complexes sont en relation, on peut faire appel à une représentation centrée objet, éventuellement couplée à des règles de production ou à un réseau sémantique. 2.1 Logique Logique classique Dans la logique des propositions (ou logique d ordre 0), on définit un langage formel qui comprend un alphabet, des règles de syntaxe, des axiomes et des règles de déduction (encore appelées règles de réécriture). L alphabet comprend : des propositions atomiques. A, B, C... ; des parenthèses ; des symboles ou connecteurs logiques : (disjonction) (conjonction) (implication) e (négation) La synthaxe définit les formules bien formées (fbf), construites conformément aux règles de calcul. L algèbre de Boole est la traduction en langage algébrique des opérations correspondant aux connecteurs et à leurs propriétés axiomatiques de base. Les tables de vérité des opérateurs de base, traduites en algèbre de Boole, prennent la forme suivante, avec VRAI = 1 et FAUX = 0. Nous ne verrons ici que les concepts les plus simples, et nous renvoyons le lecteur à des ouvrages spécialisés pour plus de détails [6, 7]. Il est bon de préciser un certain nombre de définitions, car le vocabulaire de base de toutes les représentations des connaissances est inspiré de celui de la logique. Une assertion est l énoncé d un fait. Exemple : «Socrate est mortel». Un prédicat est une assertion à propos d une ou plusieurs entités : P(x) ; l arité n du prédicat P (x 1,..., x n ) est le nombre de ses arguments. On peut avoir n = 0. Un prédicat décrit une propriété qui détermine une classe d objets, appelée extension du prédicat. Exemple : dans «mortel (homme)», le prédicat mortel décrit une propriété partagée par l extension les hommes. Une instance est un fait unique et non ambigu associé à un prédicat plus général. ET, (conjonction) OU, (disjonction) noter que c est un min et un produit noter que c est un max et le résultat de (somme produit) La logique classique peut être reliée au calcul des ensembles nets. Alors l univers de discours devient le référentiel Ω qui constitue l univers de travail sur lequel on peut définir des sous-ensembles. Un prédicat définit une propriété qui détermine une classe, c està-dire un sous-ensemble. Exemple : rouge (tomate) définit l ensemble des tomates de couleur rouge {tomates rouges} et mûre (tomate) l ensemble des tomates mûres {tomates mûres}. R Techniques de l Ingénieur, traité Mesures et Contrôle

5 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE L affirmation qu un objet satisfait un prédicat est vraie ou fausse ; cela détermine l appartenance ou la non-appartenance de l objet à une classe, un sous-ensemble. On construit ainsi le calcul des classes ou des ensembles (similaire au calcul des propositions) : UNION A B par similitude avec (OU) A A = A, A B = B A A ( B C) = ( A B) C (commutativité), (associativité) COMPLÉMENT A INTERSECTION A B par similitude avec (ET) A A = A, A B = B A, A ( B C) = ( A B) C. On peut représenter l appartenance d un objet à une classe par une fonction qui permet d utiliser les propriétés de l algèbre de Boole : µ A ( x) = { 01, } x A µ A ( x) = 1 x A µ A ( x) = 0 La fonction d appartenance à un ensemble se déduit alors des propriétés de l algèbre de Boole : µ A B ( x) = µ B A ( x) = µ A ( x) OU µ B ( x). L opérateur OU peut se calculer par max ( µ A ( x), µ B ( x) ) ou encore par µ A ( x) + µ B ( x) Ð µ A ( x)µ B ( x), ces deux formules donnant les mêmes résultats. De la même façon, on montre que : µ A B ( x) = µ B A ( x) = µ A ( x) ET µ B ( x) qui peut se calculer par min ( µ A ( x), µ B ( x) ) ou par µ A ( x)µ B ( x). Enfin, on notera µ A ( x) = µ A ( x) = 1 Ð µ A ( x). Pour automatiser le traitement, la représentation des connaissances en logique d ordre zéro prend la forme de clauses. Une clause est une forme disjonctive dans laquelle les propositions sont combinées par un opérateur de disjonction, OU ( ). On associe plusieurs clauses par une conjonction, ET ( ), grâce aux lois d associativité et de distributivité des connecteurs de base. Par exemple, sous forme clausale, P Q devient ep Q, ce que l on vérifie aisément sur la table de vérité de l algèbre de Boole. P Q P Q ep Q L implication logique a une interprétation ensembliste simple : A B est équivalent à ea B donc à ea B. Exemple : on trouverait pour ensemble représentant l implication «Si une tomate est rouge alors elle est mûre» : {{tomates non rouges } ou {tomates mûres}}. Pour réaliser l inférence, on utilise le principe de résolution qui permet d automatiser la déduction d un but donné. Ce principe implique qu on travaille par réfutation ; pour prouver une assertion (qui constitue le but à démontrer), on essaie de montrer que sa négation produit une contradiction avec les assertions de départ ou leur combinaison. Par exemple, soit le problème de départ F 1 F 2 H (des hypothèses impliquent une conclusion). Par le principe de résolution, ce problème devient F 1 F 2 eh. Appliquons-lui le principe de résolution itérative suivant : à chaque pas, on prend deux clauses (parents), contenant un littéral et sa négation, on les combine pour obtenir la résolvante : si le résultat est l ensemble vide, symbolisé par (), on a démontré la contradiction. Ainsi, ep P a pour résolvante (), qui exprime une contradiction. Exemple : de P Q, P = VRAI, on déduit Q = VRAI. Cette règle de déduction, fort utilisée de façon courante, est dite règle du Modus Ponens ; de P Q et Q = FAUX, on déduit P = FAUX. Cette autre règle courante est dite règle du Modus Tollens ; de P Q et Q R, on déduit ep Q, eq R dont la résolvante ep R correspond à l enchaînement de déductions ( P R). La logique du premier ordre est un langage, qui étend les possibilités de la logique des propositions à des prédicats portant sur des variables. L alphabet se trouve augmenté par les symboles : quel que soit, il existe, qui vont permettre la spécialisation universelle {( x P( x) ) Pa ( )} et la généralisation existentielle { Pa ( ) ( x P( x) )}. Toute interprétation donne une valeur VRAI ou FAUX à chaque formule atomique. Les constantes deviennent les éléments d un domaine d interprétation ou univers de discours D ; les variables sont affectées des valeurs qu elles peuvent prendre dans D. Un prédicat d arité n est une application de D n dans {VRAI, FAUX}. Il est vrai ou faux selon la valeur de ses arguments et les connecteurs logiques qui les relient ; un prédicat d arité 0 est simplement une proposition vraie ou fausse. L opération supplémentaire exigée par la logique d ordre un pour mener la résolution est l unification des variables. On applique une substitution sur chaque clause : une substitution est une liste ordonnée de paires d affectation de symboles de variables par des constantes (un seul terme à un seul symbole) ; toutes les occurrences de la même variable sont remplacées par la même constante ; on dit qu on a unifié deux clauses, si la même substitution est cohérente dans les deux clauses. Le langage PROLOG est une des possibilités d automatiser un raisonnement logique. En conclusion, on peut dire que la logique d ordre zéro ou d ordre un fournit un outil formel de représentation des connaissances et des raisonnements rigoureux. On retrouve les fondements de divers raisonnements mathématiques très utiles comme le modus ponens, le modus tollens, l enchaînement dynamique d inférences, la spécialisation universelle ou la généralisation existentielle. Toutefois, le traitement automatique devient vite assez lourd lorsque le problème nécessite l utilisation de variables. Enfin, la mise au même niveau de toutes les connaissances, aussi bien les hypothèses de départ que le but recherché, peuvent rendre la résolution particulièrement inefficace Logique floue La pensée humaine est une symbiose de la logique et de l imagination, agissant de concert ou séparément [5]. Cette constatation a contribué à doter les systèmes intelligents de raisonnements plus subtils que les raisonnements purement booléens, reposant sur une formalisation mathématique rigoureuse : la logique floue. Alors, l appartenance d un objet à un ensemble n est pas nette (quand une tomate est-elle vraiment rouge, vraiment mûre?). On traduit cette idée par une fonction d appartenance graduelle : µ A ( x) Techniques de l Ingénieur, traité Mesures et Contrôle R

6 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE est à valeurs dans [0, 1]. Une partition floue est un découpage grossier de l univers Ω en sous-ensembles flous A i si : x Ω i µ Ai ( x) > 0 (recouvrement total) ; i, x 0 Ω µ Ai ( x 0 ) = 1 j i µ Aj ( x 0 ) < 1 (un élément ne peut appartenir à deux sous-ensembles flous avec le degré 1). Une partition floue normalisée est définie par : i x 0 Ω µ Ai ( x 0 ) = 1 Une partition floue forte normalisée est telle que : x Ω µ Ai ( x) = 1 i On représente souvent les fonctions d appartenance par des formes triangulaires ou trapézoïdales, mais on peut aussi utiliser des fonctions continues. Il faut définir les opérateurs ensemblistes pour ce type de sousensembles. La complémentation est en général définie par : µ A ( x) = 1 Ð µ A ( x). La conjonction floue, représentant le ET ou intersection, se représente par des normes triangulaires dites T-normes. Ces T-normes doivent avoir les propriétés de commutativité, d associativité, de non-décroissance ; 1 est leur élément neutre et 0 leur élément absorbant. La plus connue est probablement la T-norme de Zadeh : Txy (, ) = min( x, y) mais on en trouve de nombreuses dans la littérature. De même, la disjonction floue, représentant le OU ou union, se représente par une T-conorme triangulaire qui, outre la commutativité, l associativité et la non-décroissance, possède 0 comme élément neutre et 1 comme élément absorbant. Elle est en relation avec la T-norme par les lois de de Morgan. La T-conorme de Zadeh s exprime par : T( xy, ) = max( x, y) Pour une présentation étendue de la logique floue, on peut se référer à [5]. En dehors du calcul ensembliste se pose la question de la modélisation de l inférence floue, ce qui revient à faire une déduction sur des données incertaines avec une implication elle-même incertaine. Cela se représente par : si x est A alors y est B où A et B sont des sous-ensembles flous et «alors» est une implication floue. Si l on revient encore une fois à notre exemple, comment déduire du fait qu une tomate est «à peu près rouge» que c est une tomate «à peu près mûre»? Quelle déduction fait-on sur le sous-ensemble y est B (sousensemble descriptif du résultat de l inférence) à partir de la connaissance x est A (sous-ensemble descriptif de la connaissance initiale, qui a priori n est pas identique au sous-ensemble descriptif de la prémisse)? On voit que l implication représente une relation R entre x X et y Y (relation floue rougeur-maturité dans l exemple). Il y a de nombreux modèles de l implication floue [5]. On peut commencer par les déduire des calculs sur les ensembles nets. Un premier modèle : A B :A B se représente donc avec la T-conorme de Zadeh par max( 1 Ð µ A, µ B ), parfois connue sous le nom d implication de Kleene-Dienes. Là encore, la littérature abonde de propositions. Le modus ponens généralisé, par exemple, utilise le modèle suivant pour le sous-ensemble flou résultant de l implication : Ces expressions se simplifient beaucoup quand l entrée est numérique, car alors A est un singleton flou : A est la simple traduction en symbolique d une valeur numérique x 0. C est typiquement le cas des correcteurs flous, où x 0 représente la mesure ou l écart à la référence et B est la représentation floue de la commande. Il vient : Alors : µ B ( y) = max x [ min ( µ A, min ( µ A, µ B ))] µ A ( x) = 1 si x = x 0 µ A ( x) = 0 si x x 0 µ B ( y) = min [ µ A ( x 0 ), µ B ( y) ] Lorsqu il y a plusieurs antécédents dans l implication, on fait l intersection des sous-ensembles flous des prémisses, représentable par une fonction min, si l on suit les propositions de Zadeh : si x est A ET y est B alors z est C. µ C ( z) = min [ µ A ( x 0 ), µ B ( y 0 ), µ C ( z) ] où C est le descripteur flou de la déduction. S il y a plusieurs déductions portant sur la même conclusion, on fait l union des sous-ensembles flous des conclusions partielles, représentable par une fonction max, si l on suit les propositions de Zadeh : µ C ( z) = max [ µ C1 ( z), µ C2 ( z) ] On trouvera des détails sur les applications de la logique floue en commande dans [8]. 2.2 Résolution de problème par parcours de graphe Les graphes sont un outil informatique de représentation de données d une utilisation bien plus vaste qu en intelligence artificielle. Dans ce domaine précis, ils sont surtout utilisés pour des problèmes bien particuliers : on dispose d un ensemble de moyens pour engendrer et énumérer des solutions potentielles qu une procédure permet de tester automatiquement. Les algorithmes essaient d articuler ces deux tâches pour progresser en éliminant au fur et à mesure des alternatives afin de réduire l ensemble des solutions potentielles [9, 10]. Nous allons rappeler quelques définitions. Un graphe est constitué d un ensemble de sommets, ou nœuds, reliés par des arcs. Soit un arc reliant le nœud n i au nœud n j. On dit que n j est le successeur, le fils, de n i ; n i est le prédécesseur, le père, de n j. Un chemin reliant les nœuds de n 1 à n p a pour longueur p. Un arbre (arborescence) est un graphe particulier, dont un nœud, s, sommet ou racine, est relié à tous les autres nœuds du graphe par un chemin unique. Une feuille est un nœud sans successeur. On définit encore la profondeur d un nœud par la longueur du chemin qui le relie à la racine. La figure 1 est un exemple de graphe dont la racine est N 0, les feuilles N 6, N 7, N 8 sont à la profondeur 3. R Techniques de l Ingénieur, traité Mesures et Contrôle

7 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE N 0 Profondeur 0 recherche de la véritable solution optimale. De plus, sur la plupart des problèmes, des informations (expertes) permettent de réduire l espace de recherche. Ces informations sont alors utilisées dans l algorithme de parcours. Elles servent à modifier le contrôle. Exemple : on insère, en tête de la liste des nœuds à explorer, le plus prometteur ; on supprime de la liste des nœuds à explorer ceux qui paraissent sans intérêt ; on ordonne les opérateurs en fonction de leur intérêt. N 1 N 2 N 3 N 4 N 5 Profondeur 1 Profondeur 2 N 6 N 7 N 8 Profondeur 3 Dans tous ces exemples, on voit apparaître la nécessité d évaluer l intérêt d un nœud. On utilise en général pour cela une fonction d évaluation f *, dont le calcul est numérique. De son choix judicieux dépend le succès de la recherche dans un délai raisonnable. Figure 1 Exemple de graphe On distingue deux représentations pour les problèmes de parcours de graphe : le graphe d état : les nœuds décrivent les états du système ; les opérateurs décrivent les manipulations qui permettent de passer d un état à un autre ; le but est un état désiré ; le graphe ET/OU : on suppose qu une opération complexe peut être décomposée en plusieurs opérations, autrement dit un but en sous-buts élémentaires, donc plus faciles à effectuer, ou euxmêmes encore décomposables. Les sous-problèmes sont reliés au problème principal par une décomposition de type ET/OU. On parle d exploration systématique dans le cas où l on n a aucune information sur la façon de conduire la recherche et où l on s efforce d obtenir tous les nœuds possibles. Il y a donc deux opérations fondamentales à effectuer à chaque itération de l algorithme de parcours : développer les alternatives (déterminer tous les opérateurs qui s appliquent à une situation) ; choisir une alternative. Ce dernier choix est non déterministe puisque, à chaque pas de calcul, on ne sait pas quelle est la meilleure opération à exécuter. C est donc un deuxième algorithme, le contrôle du parcours, qui prend cette décision. Selon la façon d implémenter ce choix, les algorithmes portent des noms différents. On trouve : le parcours en largeur d abord : dans ce cas, on choisit d activer toutes les opérations possibles au niveau d un nœud ; le parcours en profondeur d abord : dans ce cas, on choisit d explorer les successeurs du nœud le plus récemment visité. Alors, pour éviter d explorer une branche conduisant à une impasse, il est prudent de se fixer une profondeur maximale à ne pas dépasser. Quel que soit le mode de parcours, il est clair que, si un nœud n a pas de successeurs et ne correspond pas à une solution acceptable, il faut revenir sur un nœud précédent pour appliquer un autre opérateur. C est ce qu on appelle la rétropropagation (backtracking). Il faut donc mémoriser le chemin emprunté et les opérateurs utilisés à chaque itération. Deux problèmes se posent dans ces parcours exhaustifs. Le premier concerne l explosion combinatoire. On conçoit aisément que le nombre de successeurs des nœuds peut devenir de plus en plus grand et nécessiter des capacités de stockage et de calcul démesurées. Le deuxième concerne les bouclages sur des états déjà analysés. Il faut donc mémoriser ceux-ci et les comparer à chaque nouvel état engendré. Tout cela est très coûteux en temps de calcul. On peut remarquer que, dans bien des problèmes, on préfère se contenter d une solution sous-optimale que l on peut trouver en un temps faible, plutôt que de consacrer beaucoup de temps à la 2.3 Systèmes de production Ce mode de représentation des connaissances est probablement le plus populaire, car il a donné lieu à de nombreux systèmes experts. Il ne faut pas assimiler, toutefois, les problèmes de représentation des connaissances sous forme de règles de production, comme nous allons les décrire dans ce paragraphe, avec les systèmes dits experts. L expertise correspond à la nature des connaissances que l on cherche à représenter : elles sont expertes quand elles correspondent à des domaines très particuliers, qu elles sont partagées par peu d individus, et difficiles à justifier d un point de vue théorique, bien qu on puisse affirmer qu elle conduisent à une bonne solution. Les règles de production peuvent très bien être utilisées pour coder des connaissances certaines et bien établies, partagées par de nombreux individus, auquel cas on a affaire à un système de production, qui n est pas un système expert. Nous allons voir successivement comment se représentent les connaissances, quels sont les algorithmes d inférence et les algorithmes de contrôle les plus utilisés. Les connaissances sont nettement séparées en deux types dans les systèmes de production. C est une différence fondamentale avec la logique et le calcul des prédicats. Les connaissances descriptives, les assertions, peuvent, dans ce type de représentation, prendre à peu près n importe quelle forme. Elles sont stockées dans une base de données appelée Base de Faits (BF ). Elles peuvent représenter un cas particulier à résoudre à l aide de connaissances plus générales, opératoires entre autres. De façon simple, un fait est représenté par un symbole auquel on attribue une valeur de vérité {VRAI/FAUX}. Un fait peut aussi être représenté par un couple <objet> <valeur>, où <objet> est un symbole et <valeur> est un symbole ou un nombre. Un fait peut encore être représenté par un triplet <objet1><relation><objet2>, où <objet1>, <objet2>, sont des symboles ou des nombres et <relation> est un symbole. Les connaissances opératoires prennent la forme de règles de production. Elles sont stockées dans une base de données appelée Base de Règles (BR). Une règle est une expression construite avec des faits reliés par les connecteurs logiques ET, OU, NON, IMPLIQUE. Lorsque les faits sont de simples propositions atomiques, on retrouve donc, exprimés sous une autre forme, les concepts de la logique d ordre 0. Les algorithmes manipulant ces connaissances sont d ailleurs parfois appelés moteur d ordre zéro. L expression générale d une règle de production est donc dans ce cas : SI température-primaire forte ET position-vanne ouverte ALORS circuit-primaire OK. On notera que les opérateurs OU ne peuvent pas apparaître après l implication. Les règles sont ici des expressions construites avec Techniques de l Ingénieur, traité Mesures et Contrôle R

8 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE des objets, des valeurs, et les connecteurs logiques. Si on rajoute des fonctions et des comparateurs, on dit qu on travaille à l ordre 0 +. Quand elles portent sur des triplets, les règles peuvent aussi inclure des variables, et on parle alors d ordre 1. La distinction fait/règle n est pas sémantique mais purement technique : «un intégrateur annule l erreur statique» est un fait, «si un correcteur est un intégrateur alors l erreur statique est nulle» est une règle. Les conditions (prémisses, antécédents) portent sur l existence de faits dans la base de faits. Les actions (conclusions, conséquents) sont : des ajouts de faits dans la base de faits (cas courant simple) ; des suppressions de faits de la base de faits (nous reviendrons sur ce cas par la suite, car il suppose une gestion différente des connaissances) ; des modifications de faits (cela est surtout utilisé lorsque les faits sont affectés de coefficients mesurant leur degré de vérité) ; c est alors ce coefficient qui est modifié au fur et à mesure que l on progresse dans l exploitation des connaissances) ; des exécutions de procédure externes. Le sytème met donc en permanence à jour la base de faits à l aide de la base de règles. Le schéma global de l inférence prend la forme suivante. Faire : détecter l ensemble des règles pertinentes, celles qui sont applicables, étant donné l état présent des connaissances ; on dit qu on construit un ensemble de conflit ; choisir une règle dans l ensemble de conflit ; c est l algorithme de contrôle qui est chargé de cette stratégie de choix ; déduire, c est-à-dire activer la règle choisie ; cette opération modifie l état du système et va permettre une nouvelle itération. Jusqu à : but atteint. L algorithme est très simple. La détection est fondée sur le déclencheur de la règle. Selon le choix du déclencheur, on se trouve devant deux types de mécanisme : le chaînage avant : le déclencheur est la partie condition des règles ; on parle dans ce cas de raisonnement guidé par les données ; le chaînage arrière : le déclencheur est la partie action des règles : on parle dans ce cas de raisonnement guidé par les buts. Détaillons maintenant l algorithme de détection. En chaînage avant, on sélectionne les règles dont la partie condition est vérifiée : initialisation : l ensemble de conflit correspond aux règles dont la partie condition appartient à la base de faits initiale ; en cours de raisonnement : l ensemble de conflit correspond aux règles dont la partie condition correspond à la base de faits courante. En chaînage arrière, on sélectionne les règles dont la partie action correspond au but en cours : initialisation : le but en cours est le but final, le fait qu on veut démontrer ; en cours de raisonnement : le but en cours est un sous-but, déterminé à partir de la partie condition de la règle précédemment sélectionnée. Détaillons maintenant l algorithme de déduction. On applique la règle, autrement dit : en chaînage avant, on exécute sa partie action ; cela modifie donc la base de faits (ajout, suppression...) et permet à l itération suivante de trouver d autres règles applicables. Quelquefois, la partie action correspond à l exécution d une fonction ou d une procédure externe plus ou moins complexe (écrire à l écran ; exécuter un programme procédural) ; en chaînage arrière, on augmente la base de sous-buts des parties conditions de la règle sélectionnée. Le cas du chaînage arrière nécessite un mécanisme de rétropropagation (backtracking) pour abandonner éventuellement un sousbut quand on découvre qu il n est pas démontrable, et enchaîner sur la démonstration d un autre ensemble de sous-buts ; cela alourdit bien évidemment la programmation. Le contrôle est le mécanisme qui permet de choisir une règle dans l ensemble de conflit, puisqu on n active qu une règle parmi l ensemble des règles activables. On peut dire que, selon le mécanisime implémenté et son adaptation aux connaissances utilisées, on va pouvoir trouver très rapidement le but recherché ou non. En fait, c est le mécanisme de contrôle qui permet de modéliser tel ou tel mode de raisonnement. On va donc trouver un grand nombre d algorithmes de contrôle proposés dans la littérature. Nous allons en donner quelques-uns dans ce qui suit, que nous avons partagés en trois familles. Méthodes exhaustives : toutes les règles activables lors d une itération du mécanisme d inférence sont activées ; on active la première règle trouvée. Méthodes hiérarchiques : pour éviter que des centaines de règles ne soient examinées à chaque itération, on partitionne souvent les connaissances en bases de connaissances plus élémentaires ; un mécanisme global décide alors quelle base de connaissances doit être examinée. Ce mécanisme global peut être procédural : dans ce cas, on enchaîne d une façon connue d avance des modules de connaissances spécifiques. Les différentes connaissances se communiquent leurs résultats, souvent en partageant une ou plusieurs bases de faits. Il peut encore être déclaratif : dans ce cas, on a codé le mécanisme de contrôle lui-même sous forme de système de production, pour lui permettre de s adapter facilement à des circonstances variables ; la logique du raisonnement, qu on qualifie de métaconnaissance, décide de la priorité avec laquelle les bases de règles élémentaires sont activées, selon la situation particulière dans laquelle on se trouve. Méthodes heuristiques : elles sont intermédiaires entre les deux précédentes. Le choix de la règle à déclencher porte sur les règles elles-mêmes ou sur les faits intervenant dans les règles. On peut choisir, par exemple : celle qui est la plus prioritaire ; dans ce cas, il faut avoir affecté un coefficient à chaque règle, ce qui n est pas forcément trivial ; il peut y avoir conflit de priorités, comme il y a conflit de règles ; celle qui utilise le fait le plus important : cela exige que les faits de départ soient affectés de coefficients de certitude et que les faits déduits puissent aussi en recevoir un. Quand les règles portent sur des variables, le test de détection d une règle nécessite une mise en correspondance structurelle (pattern matching) entre les prémisses (ou les conclusions en chaînage arrière) et les éléments de la base de faits (ou de la base de buts en chaînage arrière) ; cela correspond au travail d unification en logique d ordre 1. Ce travail peut être relativement lourd (on considère qu il va occuper de 60 à 90 % du temps d exécution du système). Il est en général accéléré par des compilateurs de base de règles. Quand les règles portent sur des faits incertains, on modélise l inférence par une des implications logiques floues proposées par les mathématiciens. Il faut bien assurer la cohérence entre les divers outils qui permettent de faire l intersection de plusieurs prémisses (modèles du ET) ou l agrégation de plusieurs conclusions (modèle du OU). Soulignons encore que la logique floue n a pas d interprétation probabiliste. On ne modélise pas des connaissances aléatoires avec cet outil (c est-à-dire représentables par leur fréquence d apparition lors de plusieurs expériences), mais des connaissances vagues ou incertaines (c est-à-dire représentables par leur possibilité d être vraies ou fausses, sans que ces deux concepts soient mutuellement exclusifs). Cela explique le succès de ces représentations floues pour les systèmes experts. Nous conclurons en soulignant que les systèmes de production sont certainement le moyen le plus répandu de représentation des connaissances. Le raisonnement le mieux adapté au problème à R Techniques de l Ingénieur, traité Mesures et Contrôle

9 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE résoudre est reflété par le mécanisme de contrôle choisi. On peut ainsi faire des parcours complètement exhaustifs de la base de connaissances ou, au contraire, modéliser l expertise d un humain pour rendre la découverte de la solution plus rapide. L utilisation de coefficients de certitude ou de croyance, gérés de façon empirique ou rigoureuse (inférence fondée sur la logique floue), reflète bien un raisonnement humain. Toutefois, ces systèmes sont adaptés à des situations où l univers à décrire n est pas trop complexe et ses objets peu liés entre eux. Sinon, les prémisses des règles deviennent vite très lourdes à gérer. 3. Aspects particuliers du développement informatique 3.1 Architecture générale d un système à base de connaissances 2.4 Représentations centrées objets, réseaux sémantiques La programmation orientée objet est d une portée très générale et son utilité est telle que, maintenant, les langages de programmation classiques incorporent ses possibilités. Par rapport à la programmation classique qui privilégie la représentation de tâches, de procédures, la programmation orientée objet privilégie la représentation de données structurées. Un objet comprend à la fois une structure de données et des algorithmes de traitement propres à ces données. Il communique avec d autres objets soit en lui fournissant le résultat de ses calculs internes, soit en lui réclamant des résultats. On parle à ce propos de programmation dirigée par les données. L intelligence artificielle a, dès ses débuts, compris l intérêt de tels outils informatiques pour la représentation des connaissances. En effet, comme nous venons de le voir au paragraphe 2.3, le formalisme des systèmes de production convient bien à la notion de mise en vrac des connaissances et à celle d univers peu structuré. Dans les cas plus complexes, on privilégie la représentation des faits de l univers, qu on structure comme des objets. Ces objets peuvent : se ressembler, selon des schémas préétablis, décrits par des propriétés ; ou encore être reliés en réseau, c est-à-dire définis par les relations qu ils ont entre eux (relation binaire ou plus complexe). Un objet est en fait une abstraction définie par une collection de propriétés, partagées par un certain nombre d individus. On organise ces objets en classes, que l on peut intuitivement se représenter comme une collection d objets de même structure et de même comportement. Remarquons que ces classes, assimilables à des ensembles, ne sont pas définies par la liste des objets qui les composent, mais par la liste des propriétés qui les définissent. En intelligence artificielle, on considère donc qu un objet est une unité élémentaire de connaissance, représentant le prototype d un concept. Un cas particulier de cet objet générique sera nommé instance de l objet. De plus, les objets sont liés entre eux par des liens hiérarchiques : un objet est la spécialisation d un autre objet, dont il affine la description. Les réseaux sémantiques sont des graphes dont les nœuds représentent des entités physiques ou abstraites et les arcs des relations orientées entre ces objets. On peut voir un arc comme un prédicat binaire. Par rapport à un graphe simple, les informations portées par les nœuds peuvent être très riches, de même que celles portées par les arcs. L inférence vise en général : soit à détecter des relations entre objets, en reconstituant un lien complexe entre eux à partir de liens plus simples ; soit à propager une connaissance le long de tous les liens qu elle affecte. Soulignons que ces présentations structurées des connaissances sont assez peu souvent utilisées seules. On les utilise plutôt en liaison avec d autres mécanismes de raisonnement, en particulier ceux des systèmes de production. On peut dresser rapidement le bilan du paragraphe précédent en analysant la combinaison des différents éléments dans un développement logiciel. On va bien sûr trouver dans toute réalisation : une ou plusieurs bases de connaissances relatives au domaine (sous forme de base de faits, base de règles, ou représentation centrée objets, ou encore sous forme de graphe ou de réseau sémantique) ; le mécanisme d inférence (moteur d inférence pour règles de production, mécanismes d instanciation et d héritage pour les objets, algorithmes de parcours de graphe) ; le mécanisme de contrôle (choix en ligne de la prochaine opération à faire). Mais une réalisation opérationnelle, par rapport à un prototype, doit aussi comporter un certain nombre d autres fonctionnalités pour être vraiment utilisable (figure 2). Parmi celles-ci, les plus importantes sont : une interface pour l expert. Celui-ci est en effet rarement un informaticien et, même si c était le cas, il veut pouvoir entrer des connaissances dans la base avec un langage de haut niveau. Cela permet, en particulier, une mise à jour de la base de connaissances facile et rapide. Outre les fonctionnalités de langage de haut niveau, une interface expert peut comporter des outils beaucoup plus élaborés de test des connaissances que l on entre (par exemple, correction orthographique ; recherche de règles présentant une grande similitude avec celle que l on entre...). En lui-même, le test de la cohérence des grandes bases de connaissances est un domaine de recherche très actif de l intelligence artificielle ; une interface pour l utilisateur qui doit permettre une consultation aisée du système. Pour certaines applications, et tout particulièrement pour les systèmes d assistance ou les systèmes pédagogiques, cette architecture de base est augmentée d un module d explications. Celui-ci doit favoriser l utilisation du système, en convainquant l utilisateur de la pertinence de ses déductions, ou encore effectuer un véritable transfert de compétences depuis l expert qui a conçu le système vers l apprenant qui l utilise. Le module d explications peut être plus ou moins élaboré. Les premiers systèmes se contentaient de donner une trace de leur fonctionnement, par exemple, suite de règles appliquées et faits déduits à chaque itération. Depuis, on s est aperçu que la façon dont l expert résolvait un problème comportait beaucoup de non-dits, et que les explications devaient se référer à d autres types de connaissances que celles utilisées pour la résolution du problème. C est pourquoi un module d explications constitue en fait un véritable système expert, greffé sur le système à base de connaissances, et comportant : une base de connaissances pour l explication, chargée de répondre à des questions de l utilisateur de type «pourquoi», et fondée en général sur des connaissances théoriques plus fondamentales que celles utilisées pour la résolution ; un mécanisme d explication, travaillant sur ces connaissances à la manière d un mécanisme d inférence, pour les enchaîner entre elles et arriver à reconstruire un véritable raisonnement pédagogique. Là encore, ce domaine est en pleine effervescence et fait l objet de nombreuses recherches. Pour les applications en temps réel, qui nous intéressent au premier chef en automatique, le système comporte de plus une inter- Techniques de l Ingénieur, traité Mesures et Contrôle R

10 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE Logiciel conventionnel Interface logiciel externe Base de connaissances du domaine Base d explications Générateur d explications Moteur d inférence Contrôle Interface expert Interface utilisateur Figure 2 Autres fonctionnalités nécessaires pour une réalisation opérationnelle face avec un environnement logiciel externe, qui est lui-même couplé avec le procédé. Il y a en effet très peu d applications où le système intelligent est directement chargé de l acquisition des données et de l application en ligne de commandes, sauf en ce qui concerne les régulateurs flous, qui constituent en général des modules simples et utilisables à la place d un algorithme de commande classique. Dans toutes les applications de plus grande envergure (diagnostic, surveillance, traitement d alarmes), le système «intelligent» est traité comme une tâche de l environnement informatique traditionnel. Le codage d un module intelligent est maintenant devenu aisé grâce à l existence de langages de haut niveau adaptés aux représentations précédentes. Une grande partie du code est en fait traditionnelle (interfaces, par exemple) et doit être testée de manière classique. Le cycle de vie d un logiciel de type système expert est toutefois assez différent du cycle de vie traditionnel car, lorsque l on s attaque à un problème de ce type, on est loin de connaître et de pouvoir recenser tous les cas particuliers ; c est justement dans ce genre de situation qu on a besoin de coder l expertise. Le cycle de vie classique d un logiciel comporte les étapes suivantes : étude de faisabilité ; analyse des besoins ; conception générale du produit ; conception détaillée ; codage, tests partiels ; intégration des différents modules ; validation. Comme l expertise humaine est difficile à formaliser, le codage d un système expert démarre sans que la spécification soit complète. Une tendance assez répandue consiste à se lancer dans un prototypage rapide, ce qui est assez dangereux. L expérience prouve en effet que l on se heurte, en général, à une évolution exponentielle des difficultés ; en conséquence, des méthodes qui ont une bonne efficacité pour le prototype peuvent être inefficaces pour le système complet. On cherche donc plutôt à adopter une approche incrémentale. Cela signifie que, dans la procédure définie précédemment, on accepte de reboucler un certain nombre de fois entre l étape de conception et celle de codage, au fur et à mesure que les tests partiels avancent et montrent l incomplétude de la base de connaissances. Il faut encore remarquer que, pour des raisons d efficacité de temps calcul, lorsque le système a été suffisamment testé et s est révélé fiable, la version finale est quelquefois réécrite en langage traditionnel. 3.2 Acquisition des connaissances auprès d un expert Le goulet d étranglement dans le développement d un système expert réside dans l acquisition des connaissances auprès des experts. L expertise doit être formalisée avant d être transformée en un programme. Le danger à éviter est que le langage utilisé pour l implémentation influe sur le processus d acquisition. Cette activité inclut le recueil de faits et de stratégies de raisonnement. Il faut bien comprendre qu il ne s agit pas, comme le laisse croire l expression consacrée, d «extraire» la connaissance qui sommeille en l expert. Le travail consiste au contraire en la formalisation d un domaine pour la première fois. Il peut donc prendre beaucoup de temps. Il repose sur diverses techniques : entretiens, questionnaires, observations, analyse de protocoles... [11]. On commence à trouver des outils informatiques facilitant cette tâche comme KADS qui a fait l objet d un contrat de recherche européen [12]. R Techniques de l Ingénieur, traité Mesures et Contrôle

11 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE 3.3 Problèmes de temps réel On doit faire particulièrement attention à la manipulation de concepts temporels dans une technologie système expert : pour des applications en commande, garantir un temps de réponse est crucial. Le système expert est encapsulé dans un système temps réel plus traditionnel ; les tâches doivent être judicieusement réparties par le système d exploitation. Un système temps réel doit répondre à des stimulus externes dans un temps fini et déterminé. Des spécificités des systèmes experts sont difficiles à gérer dans ce cas : les ressources utilisées ne sont pas connues à l avance, la base de faits (ou le nombre de nœuds du graphe) augmente avec le temps, le temps de calcul est donc très variable. On se trouve devant des problèmes non déterministes, dont la nature est peu compatible avec les concepts de temps réel. Nous allons détailler dans ce qui suit quelques-uns des problèmes spécifiques qui se posent [13, 14, 15]. Acquisition des données Le système expert temps réel est intégré dans un environnement logiciel conventionnel pour l acquisition de données et le traitement du signal. Il doit connaître avec précision le temps d occurrence des événements, et donc gérer des concepts liés au passé, au présent, au futur (temps absolu) ; il peut encore gérer l ordre dans lequel ils arrivent (temps relatif). Il faut donc une représentation du temps et raisonner sur le temps [16]. Le triplet élémentaire <fait, attribut, valeur> est, dans ce cas, complété par une information supplémentaire décrivant le début et la fin de validité de l attribut (gestion de l obsolescence des faits). Les prémisses des règles doivent manipuler des concepts temporels comme : «toujours», «en conséquence», «avant», «après», «pendant», «à la fin», ou des références au temps exact (à 12 : 00 PM) ou encore à la durée. Non-monotonie Les données perdent leur validité pendant la session, donc il faut supprimer des faits de la base des faits ; des connaissances nouvelles peuvent être inconsistantes avec d autres plus anciennes, donc toutes les conclusions qu elles ont permis d inférer doivent être supprimées. Cette gestion de la cohérence est une tâche très lourde et très délicate. Des algorithmes spécialisés de «maintien de vérité» doivent être annexés au système, et aucun fait n est déduit tant que sa compatibilité avec l ensemble des autres faits n est pas établie. Gestion des interruptions et focalisation de l attention On doit pouvoir interrompre un processus d inférence par un événement externe asynchrone. Ce problème est résolu en décomposant le problème en tâches périodiques et tâches sporadiques. Le traitement de la connaissance est décomposé en modules «petits» dont le temps de traitement est «court». Chaque module est alors non interruptible. Chaque nouvel événement est traité selon sa priorité. Quand un événement inquiétant se produit, le système peut être amené à abandonner la tâche en cours pour se focaliser sur un autre problème sans pour autant détruire les connaissances déjà acquises. Toutefois, s il revient à la tâche initiale, un problème de maintien de vérité va encore se poser. Garantie de temps de réponse Quelques techniques essaient de gérer ce point délicat : compilation des connaissances pour accélérer le raisonnement ; raisonnement progressif : décomposition de la base de règles en modules de plus en plus raffinés ; architecture tableau noir ou blackboard : plusieurs bases de connaissances peuvent travailler en parallèle. On les appelle encore agents dans les applications en robotique. Elles accèdent à une base de données commune pour lire/écrire des résultats ; chacune résout un sous-problème bien précis et un agenda gère les priorités entre les bases. Exemple : dans un robot mobile, une base est chargée de gérer les capteurs de vision, une autre d interpréter l image, une autre de planifier les tâches à accomplir Cette architecture informatique constitue en fait une première étape vers le parallélisme et l intelligence distribuée, mais cela pose évidemment de difficiles problèmes de cohérence [17] Certains outils génériques commencent à apparaître, remplissant au moins en partie toutes les conditions nécessaires [18]. Nous avons maintenant recensé les quatre principales représentations des connaissances utilisées en intelligence artificielle. Chacune est adaptée à un type de problème particulier. Nous avons essayé de faire ressortir les avantages et les inconvénients de chacune d entre elles, tout en soulignant que les outils les plus récents mixent plusieurs de ces techniques. Ce domaine est encore en pleine expansion et fait l objet de nombreuses recherches. Enfin, nous avons donné un aperçu des réalisations informatiques mettant en œuvre les spécifications souhaitées. Nous allons dans le paragraphe 4 nous intéresser aux applications à l automatique. 4. Domaines d application de l intelligence artificielle pour l automatique Les paragraphes précédents ont montré que l intelligence artificielle doit être vue comme un ensemble de modèles mathématiques et de méthodes informatiques pour représenter et utiliser des connaissances humaines. Par opposition à l identification et à la commande pour l automatique qui manipulent des chiffres, l intelligence artificielle a pour objectif de simuler le raisonnement humain dans une machine, en manipulant des symboles interprétables par l utilisateur. Nous allons maintenant nous interroger sur la nature des connaissances symboliques qui pourraient intervenir pour automatiser un procédé industriel. Il y a, d une part, le savoir-faire des ingénieurs automaticiens qui conçoivent le modèle du système physique et sa commande. D autre part, il y la connaissance empirique des opérateurs qui pilotent ces procédés. En effet, les avancées des méthodes permettant d englober des fonctionnements complexes dans des modèles mathématiques peuvent faire oublier que toutes ces représentations sont fondées sur des hypothèses forcément resctritives et que, dans tous les cas, toutes les sources de pannes et de dysfonctionnement ne sont pas modélisables de façon exhaustive : cela impose, quel que soit le degré de sophistication de la partie commande, un module de surveillance, de détection de défaillance et de prise de décision en cas de défaut [19]. Ces opérations sont en général regroupées sous le terme supervision, et souvent confiées, en tout ou en partie, à des opérateurs humains. Par défaillance on entend non seulement une panne franche, mais aussi une dégradation des performances (par exemple, un écart transitoire par rapport à une trajectoire nominale, dû à une perturbation). Sur un procédé industriel, la supervision peut recouvrir l analyse de plusieurs centaines d informations en très peu de temps. Compte tenu du coût de l arrêt d une installation, il est fondamental d améliorer les systèmes de contrôle, qui doivent permettre un fonctionnement dégradé sans qu il soit dangereux pour la sécurité des hommes et de l installation. L intelligence artificielle apparaît donc pertinente pour la CAO (conception assistée par ordinateur) en automatique, pour la commande, lorsque la modélisation classique apparaît trop coûteuse, voire impossible, et pour la supervision des procédés complexes. Une analyse approfondie de chacun de ces thèmes pourra être trouvée dans [20] ou encore [21]. Techniques de l Ingénieur, traité Mesures et Contrôle R

12 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE 4.1 Intelligence artificielle et conception de systèmes de commande Depuis longtemps déjà, l ingénieur automaticien utilise des calculateurs pour s aider dans l analyse de systèmes et la synthèse de commandes. Le travail avec papier, crayons et abaques limite en effet considérablement les objectifs et la taille des systèmes que l on peut contrôler. Le processus de synthèse de l automatisation d un système comporte toutefois de nombreuses étapes, ce qui fait que, malgré l aide informatique, la tâche reste encore d envergure. Depuis les premières acquisitions de données, en passant par une modélisation plus ou moins détaillée et une estimation des paramètres du modèle, avant d aboutir à la mise en œuvre d une commande en temps réel, il peut s écouler de longs mois! On notera, de plus, les points suivants : à chaque étape, un certain nombre d hypothèses simplificatrices sont émises, qui doivent être soigneusement validées ; les étapes sont fortement reliées entre elles, chaque résultat dépendant de la qualité de la méthode mise en œuvre mais aussi de la validité du résultat de l étape précédente ; à chaque étape, la panoplie de méthodes offertes par la théorie est très grande, et c est le savoirfaire de l ingénieur que de connaître une typologie de problèmes et de méthodes adaptées [22]. Le terme de CAO pour l automatique recouvre actuellement des produits logiciels n effectuant que des tâches parcellaires et extrêmement pointues (par exemple, le calcul d une méthode de synthèse de régulateur ou l implémentation d une méthode d identification). Aucun logiciel ne permet d aborder l ensemble du problème et l intervention d un utilisateur humain extrêmement compétent est fondamentale pour la réussite de l automatisation. On peut même remarquer que l existence de logiciels d une utilisation aisée sur le plan informatique mais implémentant des méthodes complexes, au domaine de validité limité, présente un danger car il est actuellement très facile et rapide d obtenir des résultats n ayant en réalité aucun fondement scientifique. L apport de l intelligence artificielle à ce domaine relève donc du pilotage de codes numériques par de la connaissance. Des types de raisonnements variés sont utilisés dans un même problème de conception. Le raisonnement déductif permet, par l analyse d un certain nombre de connaissances, de rendre explicites des propriétés ; par exemple, par l étude des paramètres d un modèle et de leur écart-type, on peut déduire qu il est «précis». Le raisonnement abductif est utilisé pour rechercher une cause plausible ; par exemple, un modèle «imprécis» est-il sur- ou sousparamétré? Le raisonnement par défaut reflète les habitudes de l expert ; par exemple, un modèle est sous-paramétré tant qu on n a pas démontré qu il est surparamétré. Notons que, dans toutes les étapes de la conception, il s agit d aboutir à une décision finale, souvent par l intermédiaire de décisions partielles. La spécificité de la CAO en automatique par rapport à d autres disciplines réside essentiellement dans le fait que les connaissances manipulées sont des outils mathématiques (polynômes, matrices, séries temporelles, critères d optimisation), donc précis, mais qu ils essaient de traduire des concepts beaucoup plus vagues (un «bon» modèle, une «marge» de stabilité, un critère a une valeur numérique précise, mais à partir de quelle valeur va-t-on décider que ce critère est «faible»?...). Plusieurs types d application sont envisageables : pour un public que l on considère comme averti, on peut élaborer un système de «conseil en ligne» sur le choix le plus judicieux à faire ; pour un public peu formé à l automatique, on peut envisager un système complètement autonome capable de résoudre seul un problème ou un sous-problème vaste (identification, commande) en implémentant le processus itératif de validation/remise en cause des décisions mentionné plus haut ; pour un public en formation, on peut élaborer un système d enseignement assisté dont une caractéristique essentielle doit être la qualité des explications fournies sur la stratégie de résolution de problème. Nous allons ici donner quelques détails sur un système à base de connaissances pour l identification d un modèle linéaire à partir d enregistrements d entrées/sorties [23]. Ce système est couplé avec un logiciel numérique qui lui fournit les résultats de l estimation paramétrique d un ensemble de fonctions de transfert représentant un procédé multientrées, monosortie. Le problème à résoudre est de trouver la meilleure structure pour ce procédé (nombre de pôles, de zéros et valeurs des retards purs). De nombreux résultats numériques complètent le calcul des paramètres du modèle : divers critères de ressemblance entre la sortie du modèle et celle du procédé, écart-type des paramètres, valeurs des pôles et des zéros. Classiquement, ce sont de nombreux essais qui permettent à un expert humain d y voir clair dans ces données pour choisir le modèle le plus approprié, ce qui signifie le plus précis et le plus simple possible. Ces deux qualificatifs étant antagonistes, le choix relève à l évidence d une heuristique. Le système à base de connaissances utilise un formalisme centré objet pour représenter les paramètres, les fonctions de transfert, les modèles et la stratégie, couplé à des petites bases de règles, permettant l évaluation de qualificatifs tels que «paramètres précis», «critère fort», «modèle sousparamétré». Le choix des bornes de ces qualificatifs étant, par essence même, vague, un raisonnement flou permet une approche graduelle de leur interprétation. Après l évaluation des qualités du modèle en cours d étude, la stratégie se charge de proposer un nouvel essai numérique avec une autre structure de modèle, jusqu à ce qu un modèle soit considéré comme le meilleur. Ce système a été capable de donner des résultats tout à fait acceptables, y compris sur des données industrielles. Un certain nombre de problèmes restent ouverts dans le domaine de l intelligence artificielle appliquée à la CAO : la pertinence des explications, qui permettent de faire accepter les résultats par un utilisateur, est probablement le plus crucial. Celles-ci diffèrent selon le public, pour un même domaine, et sont particulièrement critiques pour un didacticiel. On se dirige de plus en plus vers la conception de systèmes coopératifs, où l utilisateur et le système apporteraient chacun des compétences précises et différentes : par exemple, l examen visuel d un certain nombre de courbes révèle assez facilement les qualités d une commande ou d un modèle et cette analyse est bien mieux effectuée par un humain que par un ordinateur. Par contre, ce dernier maîtrise mieux la combinatoire lorsque de nombreux choix partiels doivent être combinés, mémorisés et évalués. Un système faisant participer l utilisateur à la définition même des connaissances en ligne a été élaboré dans ce cadre, pour retrouver les caractéristiques qualitatives d un système à partir de ses réponses indicielles [24]. 4.2 Intelligence artificielle et commande : la logique floue et les réseaux de neurones La régulation est un domaine où il peut paraître surprenant, voire paradoxal, que l intelligence artificielle puisse intervenir. C est en effet le domaine d excellence des automaticiens. Pourtant on a assisté, dans les dernières années, à l émergence de méthodes de commandes «expertes» inspirées de l intelligence artificielle, fondées principalement sur la logique floue, et appliquées à des problèmes très différents. Un organe de commande à base de logique floue est constitué d une table de décision reliant les informations mesurées sur le système à la variable de commande. Dans le cas le plus fréquemment traité dans la littérature d un système monovariable, la commande est, par exemple, une fonction de l erreur et de la dérivée de l erreur, comme pour les commandes proportionnelles/dérivées [8]. Au lieu d interpréter la table de décision de façon tout ou rien, chaque case de la table est interprétée comme un sous-ensemble flou sur le référentiel formé par les variables mesurées et la variable de com- R Techniques de l Ingénieur, traité Mesures et Contrôle

13 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE mande, donc comme une règle d inférence floue. Le chevauchement des ensembles flous correspondant aux parties conditions des règles permet, lorsqu une erreur précise est traitée par le régulateur, de réaliser une interpolation entre les conclusions des règles. On peut ainsi reconstituer une loi de commande continue à partir d un jeu de règles de régulation symbolique. Bien que, la plupart du temps, les tables de décision soient calquées sur la loi de commande PID, les lois de commande obtenues peuvent être non linéaires grâce au processus d interpolation [25]. Les algorithmes neuronaux sont fondés sur une approche totalement différente : il ne s agit plus d imiter un raisonnement humain mais, au contraire, de reproduire des «réflexes» en entraînant un système sur divers exemples. Un neurone, élément de base de la connaissance, est modélisé par une fonction non linéaire appliquée à une combinaison linéaire pondérée des sorties d autres neurones. L interconnexion entre un grand nombre de ces modules élémentaires permet de modéliser une fonction non linéaire fort complexe sans avoir à l écrire explicitement. Faire «apprendre» un comportement au réseau revient, en général, à optimiser un critère de ressemblance entre sa sortie et le comportement désiré, par rapport aux poids portés par les liens entre les différents neurones. En ce sens, les réseaux de neurones sont très proches des techniques habituelles utilisées par les automaticiens, car fondés sur une représentation purement numérique. Les méthodes utilisées à l heure actuelle permettent une approche non linéaire de la modélisation et de la commande. La difficulté réside dans le fait qu il n y a pas de procédure systématique pour décider combien de couches et combien de neurones par couche sont nécessaires pour bien approcher une fonction. De plus, le grand nombre de paramètres impliqués dans la procédure d optimisation rend celle-ci lente et parfois hasardeuse. Récemment, on a obtenu des résultats mathématiques d approximation universelle de fonctions réelles à l aide d un jeu de règles floues. De tels résultats permettent de comprendre l usage conjoint de logique floue et de réseaux de neurones en commande car les réseaux de neurones sont eux aussi des approximateurs universels. Un contrôleur flou fourni par un expert ne fonctionnera pas forcément très bien du premier coup et des procédures de réglage automatique ou d apprentissage ont été mises en œuvre. Certaines utilisent à fond l analogie qui existe entre un neurone et une règle floue. L inconvénient majeur de la commande neuronale est le temps d apprentissage très élevé lorsqu on initialise le système sans connaissance. La logique floue permet, à partir d une connaissance experte linguistique, d initialiser une commande neuronale de façon beaucoup plus efficace, en proposant un point de départ pas trop éloigné de la commande finale [26]. 4.3 Intelligence artificielle et supervision Cet aspect concerne la surveillance du procédé et du module de commande. Il concerne donc le fonctionnement en temps réel de l installation. La supervision recouvre un certain nombre de tâches, de difficulté très variable selon qu elles s appliquent à un soussystème ou à l ensemble du procédé Supervision des boucles locales La supervision des boucles de commande locales est la tâche la plus simple. Les commandes ont été calculées, rappelons-le, grâce à un certain nombre d hypothèses simplificatrices sur le fonctionnement du procédé, la plus fréquente étant la linéarité autour d un point de fonctionnement. Elles ont donc une limite de validité à surveiller. De plus, certains systèmes ont des paramètres qui varient dans le temps ou en fonction de perturbations non mesurables, et les commandes sont alors difficiles à régler : le domaine de validité n est donc pas quelque chose de figé. Certains régulateurs sont autoajustables ; cela signifie qu ils sont supposés se tester, se valider ou se modifier eux-mêmes. Cependant, aucun sous-système n est à l abri d une faute, par exemple d instrumentation, qui va modifier profondément le comportement de la commande. Tous les algorithmes de régulation sont donc encapsulés dans un algorithme de contrôle. Que peut apporter l intelligence artificielle au contrôle d algorithmes numériques en temps réel? La combinatoire des problèmes, au niveau local, reste faible : à partir d une observation, qui conduit à un diagnostic élémentaire (condition normale ou dégradée), on prend une décision unique (par exemple, ajuster des paramètres). Cependant, les techniques déclaratives promettent, pour un site industriel, un confort de programmation et une facilité de maintenance ou de mise à jour très appréciables. Les solutions actuelles sont généralement du type système expert en temps réel à base de règles de production. Évidemment, ces applications nécessitent de travailler sur des événements datés, dont la durée de vie doit être gérée par le système. Celui-ci travaille souvent de façon synchrone avec le système d acquisition et de commande. Les contraintes temporelles ne sont pas excessives dans les applications industrielles (quelques minutes), car les pannes franches ne relèvent pas de cette analyse et la profondeur du raisonnement à mettre en œuvre est faible. Par contre, le problème de la traduction du numérique en symbolique doit être convenablement résolu : beaucoup de systèmes travaillent avec des seuils de décision tout à fait arbitraires et, bien sûr, les plus évolués tentent d introduire les concepts de logique floue pour rendre les décisions du système moins sensibles à ces seuils et plus stables lorsqu on est en limite de validité Supervision globale Les problèmes de supervision globale du procédé sont d une autre ampleur. Ils concernent en effet une grande quantité d information. Le problème peut se qualifier grossièrement comme un problème de diagnostic : il faut détecter un état, anormal parce que dangereux ou suspect ; il faut le qualifier ; il faut en trouver la cause ; il faut ensuite décider de l action à prendre. Remarquons tout de suite qu un état facilement détectable comme dangereux doit rester de toute façon connecté à un système d arrêt d urgence automatique, qui a l avantage d être rapide (point n est besoin d intelligence pour prendre la décision) ; de même, tout diagnostic simple, à conséquence simple, doit relever des automatismes classiques (mettre en route une pompe de secours quand la pompe principale chauffe ne nécessite pas non plus de raisonnement). Restent comme relevant de l intelligence artificielle les problèmes compliqués, qui sont actuellement résolus par les opérateurs ; ceuxci sont en effet au niveau hiérarchique le plus élevé dans l organisation du système de contrôle-commande et peuvent reprendre le système en main quand ils le souhaitent et comme ils le souhaitent. Ils sont entraînés pendant de longues périodes pour être capables de reconnaître toutes les situations difficiles et aidés par des recueils de procédures de conduite pour savoir comment agir. Les systèmes intelligents doivent être conçus comme des systèmes d aide à l opérateur plutôt que comme des substituts de ceux-ci, dans un esprit de coopération homme/machine. La communication homme-machine est du ressort à la fois des sciences de l ingénieur (automatique, informatique) et des sciences humaines (ergonomie, sciences cognitives). Les opérateurs humains dans les salles de contrôle ont des activités très variées, relevant essentiellement de la surveillance et de l action en secours, encore que, sur certains systèmes manufacturiers, ils soient aussi chargés des tâches de commande, en manuel. Leurs interventions sont donc épisodiques, ce qui entraîne une baisse d attention et une perte de compétence (oubli des actions à effectuer dans les situa- Techniques de l Ingénieur, traité Mesures et Contrôle R

14 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE tions exceptionnelles). Par contre, lors d un dysfonctionnement important, ils sont submergés d informations parmi lesquelles il n est pas facile de détecter rapidement les plus prioritaires. Les aides en ligne que les opérateurs sont en droit d attendre concernent le traitement d alarmes, la détection de défauts et leur diagnostic, la reprise en mode dégradé ou en mode manuel. La difficulté principale est liée à la nécessité de maîtriser des informations temporelles (un défaut en un point du procédé peut être relié à un autre défaut, en un autre point, et à un instant parfois fort antérieur - plusieurs minutes et même plusieurs heures). Les solutions actuelles pour alléger des tâches aussi variées et complexes relèvent essentiellement de l ergonomie (meilleure présentation des informations), alors que le besoin réel est un besoin de synthèse de l information et d aide à la décision qui relève clairement de l intelligence artificielle. L opérateur doit pouvoir se tourner vers le système s il ressent le besoin de conseils ; les capacités de justification et d explication de celui-ci sont donc très importantes. Dans le contexte de la supervision globale, les données traitées sont de nature extrêmement variée : imprécises (bruit de mesure), incomplètes (pannes de capteur), non homogènes (logiques et analogiques), fonction du contexte (le dépassement d un seuil, significatif d une alarme en régime permanent, est parfaitement normal lors d une grande transition d un point de fonctionnement à un autre), temporelles. Remarquons que, sur la plupart des problèmes complexes, il y a continuité entre le fonctionnement normal et dégradé, plutôt qu un saut brutal et, alors, une qualité attendue du système de détection est la précocité. Une partie du travail est de nature asynchrone puisque, la plupart du temps, le système de détection ne signale rien : par contre, lorsque un état anormal est suspecté, il faut enclencher les tâches de diagnostic et/ou les tâches d action en vue du retour à un état normal. La connaissance disponible sur une installation industrielle n est pas homogène (des données numériques sont régulièrement transmises par le système de contrôle, des analyses chimiques peuvent être issues de laboratoires, des faits symboliques peuvent être directement fournis par les opérateurs) ; elle est partielle (des données manquent et des hypothèses doivent être faites, ou bien leurs valeurs sont vagues ou imprécises), et évolutive (des connaissances empiriques peuvent au cours du temps être expliquées par des principes physiques et formalisées en modèles mathématiques). Diagnostiquer consiste à chercher pourquoi un système ne fonctionne pas, en utilisant la connaissance sur la structure du système, ses défaillances potentielles et les observations disponibles. Le diagnostic ne requiert pas seulement la définition de l état de fonctionnement normal, mais aussi des renseignements sur les comportements anormaux. Une grande quantité d information variée est disponible pour le diagnostic : modèles analytiques du comportement normal, valeurs nominales du procédé, statistiques des pannes, comportements défaillants (causes, symptômes et conséquences), ce qui se traduit par l utilisation de différents raisonnements. On distingue deux approches : le raisonnement abductif consiste à rendre compte d informations anormales à l aide de connaissances sur les pannes et leurs symptômes ; le raisonnement basé sur la cohérence, à partir de connaissances sur la structure des composants et leurs fonctionnements normaux, a pour but de localiser les déviations par rapport au comportement de référence. L objectif global du système de supervision est soit de passer directement de la reconnaissance de défauts répertoriés à l action à entreprendre, soit de passer d un modèle de fonctionnement normal à la reconnaissance du défaut, puis à l action. Un bon nombre de techniques numériques classiques existent dans ce but (par exemple, la classification ou le filtrage). Mais les problèmes à résoudre dans un cadre industriel ont une très forte combinatoire. Un premier apport de l IA relève des techniques de systèmes experts, pour rendre la recherche de la solution plus rapide ; les difficultés relèvent de la complétude des bases de connaissances (tous les cas ont-ils été prévus?) et de leur cohérence. La logique floue permet encore une fois de lever les difficultés inhérentes à l utilisation de seuil précis entre bon et mauvais fonctionnement, par exemple, dans les problèmes de classification. Le raisonnement causal et le raisonnement qualitatif semblent actuellement les voies les plus prometteuses pour aborder ce problème, donnant lieu à de nombreuses études et devenant des domaines de recherche à part entière. Nous allons en esquisser les grandes lignes dans les paragraphes suivants ; une présentation détaillée peut être trouvée dans [27] Le raisonnement qualitatif La physique qualitative a pour but de représenter un système physique et d expliquer son comportement, en se fondant à la fois sur le raisonnement de sens commun utilisé par l être humain pour analyser qualitativement son environnement et sur les connaissances scientifiques implicitement utilisées par les ingénieurs. Elle utilise, en général, des connaissances sur les variables et sur leur tendance d évolution, traduites en symboles. Elle repose sur deux principes fondamentaux : la représentation des variables continues doit utiliser la granularité la plus grande pour le type de raisonnement effectué : a priori, la précision apportée par les calculs numériques est exclue ; le temps doit être échantillonné selon l occurrence d événements intéressants, plutôt que selon un incrément régulier et fixé ; les représentations des signaux sont donc asynchrones. On peut remarquer que n importe quelle base de règles portant sur des grandeurs physiques traduites symboliquement et manipulées par des relations comme «SI la température est forte et la pression diminue ALORS problème de condenseur» code explicitement les connaissances qualitatives d un expert sur le fonctionnement d un procédé, exprimées par des symboles, ayant en général une sémantique assez triviale (faible, fort, grand, moyen...). On qualifie souvent cette approche de système à base de connaissances superficielles. Ces applications présentent plusieurs difficultés : l élaboration de la base de connaissances peut prendre beaucoup de temps ; il faut, bien sûr, pouvoir garantir que l on a bien exprimé a priori toutes les situations possibles que le système aura à affronter au cours de son raisonnement ; il faut, de plus, se préoccuper de la gestion d informations temporelles, de durée de vie limitée. Les développements auxquels on se réfère en général quand on évoque le raisonnement qualitatif sont d un autre ordre. Ils concernent les systèmes où l on a codé dans le mécanisme d inférence luimême des méthodes de manipulation des descripteurs des variables, permettant des déductions intéressantes, fondées sur une description objective du procédé. On parle alors de connaissances profondes. L expert n a plus qu à fournir ce modèle qualitatif, qui lie les variables entre elles, souvent déduit d un modèle physique traditionnel ; c est l inférence qui va propager les valeurs symboliques d une variable à l autre. La question fondamentale derrière toute représentation qualitative est de savoir comment les résultats du système formel sont reliés aux résultats du système numérique de départ ; autrement dit, si l on considère un modèle mathématique, sa solution numérique, que l on interprète qualitativement, est-elle équivalente à la solution de l interprétation qualitative de ce modèle? Le raisonnement qualitatif est considéré comme un domaine de l intelligence artificielle depuis 1984, date à laquelle un numéro spécial de Artificial Intelligence [28] est paru, que l on se sent toujours obligé de citer en référence depuis. Il comporte trois grands axes : la modélisation d un dispositif ; la simulation du fonctionnement d un système ; l interprétation et/ou l explication du fonctionnement d un système. La physique qualitative représente des grandeurs numériques en effectuant une partition de l axe réel et en associant un symbole à chaque classe d équivalence. C est le concept d espace-quantité. R Techniques de l Ingénieur, traité Mesures et Contrôle

15 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE Les algèbres qualitatives effectuent des manipulations sur ces quantités, tout en assurant la cohérence des résultats par rapport aux équivalents dans. La modélisation la plus simple utilise pour les variables, notées [X], l espace-quantité {, 0, +} : [X] = + sssi X > 0 [X] = 0 sssi X = 0 [X] = sssi X < 0 Nota : sssi : si et seulement si. L ajout de la valeur qualitative indéterminée (?) à l espace-quantité permet de rendre les lois d addition qualitative notée, et de multiplication qualitative, notée, internes dans {, 0, +,?}. Ces lois sont définies par les tableaux 1 et 2. La dérivée d une variables dx/dt prend également sa valeur dans l espace-quantité {, 0, +} et se note X, abréviation de [ dx dt] : X = + sssi X augmente. On modélise ainsi les tendances des variables. L état d un système est défini par la valeur qualitative de toutes ses variables et de leur dérivée. Tableau 1 Loi d addition qualitative 0 +??? 0 0 +? +? + +?????? Tableau 2 Loi de multiplication qualitative 0 +? + 0? ??? 0?? En gros, le calcul qualitatif : déduit toutes les combinaisons possibles de valeurs pour les variables ; puis en élimine un maximum par ce qu on appelle des contraintes ; enfin détermine les transitions possibles vers d autres états qualitatifs, satisfaisant les contraintes de continuité ou celles imposées par les signes des dérivées. Les contraintes sont fondées soit sur des propriétés mathématiques rigoureuses, liées au modèle, soit sur des propriétés plus expertes, comme des connaissances d ordres de grandeur. Dans ce dernier cas, on compare des grandeurs en référence avec une échelle absolue, ou encore entre elles, sans échelle de référence, à l aide de propositions logiques binaires. Par exemple, le système FOG [29] prend en compte trois opérateurs de comparaison : A << B : la grandeur A est négligeable devant la grandeur B ; A B : la grandeur A est comparable à la grandeur B, c est-à-dire que A a le même signe et est du même ordre de grandeur que B ; A B : la grandeur A est voisine de la grandeur B, c est-à-dire (A B) << B. Dague y adjoint un opérateur supplémentaire : A B, pour noter le concept distant de, qui permet de résoudre le problème de transition entre ordres de grandeur. Le bref résumé qui précède constitue une simple introduction à un domaine extrêmement riche d approches diverses et a pour but d en faciliter l accès à un lecteur intéressé ; en aucun cas, il n a la prétention d être une synthèse, que l on trouvera dans [30], qui contient 420 références. Tous ces formalismes ne gérent pas une datation précise. Soit ils sont purement statiques, soit ils permettent seulement d ordonner la suite d états qualitatifs sans aucune connaissance sur leur durée. Cela est un inconvénient assez grave pour la surveillance en ligne de procédés continus. Cheung et Stefanopoulos [31] ont fait un très gros travail de formalisation à propos des tendances génériques de signaux, justement dans le cadre de la surveillance de procédés industriels qui nous intéresse, posée comme un problème d interprétation des signaux. Ils travaillent sur les valeurs des variables, de leurs dérivées première et seconde (et non plus les ordres de grandeur), et ils introduisent une représentation du temps explicite et concise. Ils définissent un état qualitatif par un triplet : [ xt ()] QS( x, t) = < [ x() t ], [ xt ()], [ xt ()] > où : + si x() t > 0 = 0 si x() t = 0 [ xt ()] Ð si x() t < 0 [ xt ()] = = + si x () t > 0 0 si x () t = 0 Ð si x () t < 0 La tendance d une variable est alors définie comme une suite d états qualitatifs sur son intervalle de mesure. On définit un épisode de x (t) sur l intervalle de temps ]t i, t j [ tel que QS (x,t) soit constant t ]t i, t j [, comme le doublet < durée, QS (x, t i, t j )>, où durée = ]t i, t j [ et QS (x, t i, t j ) = QS (x, t) t ]t i, t j [. Un épisode représente donc un intervalle de comportement uniforme entre deux instants singuliers, qui sont les instants d extremums locaux ou de changement de courbure. Un épisode e 1 est maximal s il n y a pas d épisode e 2 tel que : e 1 et e 2 ont même état qualitatif ; durée de e 1 durée de e 2. Un historique qualitatif est concis si tous ses épisodes sont maximaux. Un formalisme plus simple a été adopté par Leyval [32] : on effectue une simple segmentation d un signal réel, sur [a, b[, par une approximation affine par morceaux. Une subdivision σ de l intervalle [a, b[, est telle que : ( t 0 = a ) et t 0 < t 1 < < t n et ( t n = b) + si x () t > 0 0 si x () t = 0 Ð si x () t < 0 et définit les intervalles [ t 0, t 1 [,,[ t nð 2, t nð 1 [, [ t nð 1, t n [. Eσ est une évolution si elle est définie par une fonction affine sur chaque intervalle de la subdivision. σ min est une subdivision minimale si et seulement si n importe quelle autre subdivision possible de Eσ inclut σ min. Elle est unique : c est l ensemble des points où Eσ est non dérivable. Un épisode E p est une évolution nulle sauf sur [t i,t i+1 [ où elle est un segment. Une évolution Eσ est alors représentable par une somme d épisodes, dont la suite constitue un historique concis. Un épisode élémentaire est une fonction affine non nulle sur l intervalle [t i, b[ et nulle sur l intervalle complémentaire [a,t i [. Il est représentable par un événement à la date t i, dont le formalisme est : e i = < t i, Ae ( i ), Pe ( i ) > Techniques de l Ingénieur, traité Mesures et Contrôle R

16 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE où t i est sa date, A(e i ) son amplitude au temps t i et P(e i ) la pente de la fonction affine. On montre facilement qu une évolution est décomposable de façon unique sur sa subdivision minimale en une somme d épisodes élémentaires, représentables par une suite d événements ordonnés. En conclusion, on peut dire que, depuis son émergence en 1984, le raisonnement qualitatif s est beaucoup diversifié ; la gamme d applications potentielles a augmenté, mais avec un intérêt très fort pour les systèmes technologiques, ce qui a poussé à faire intervenir de plus en plus d informations numériques dans les systèmes ; les utilisations qui en sont faites relèvent essentiellement de la simulation et du diagnostic Le raisonnement causal La causalité est un principe selon lequel tout fait a une cause, les mêmes causes dans les mêmes conditions produisant les mêmes effets. En intelligence artificielle, le raisonnement causal est relatif à l analyse du comportement d un système sous la forme de relations causales entre des entités caractéristiques de son état. Ce type de raisonnement est utilisé lorsque l objectif est d expliquer de manière didactique (jeu des pourquoi - parce que) les mécanismes internes au système qui amènent celui-ci à changer d état sous l influence de facteurs externes. Le raisonnement causal est donc particulièrement indiqué dans les systèmes d assistance dont une des caractéristiques principales est de devoir fournir des explications à ses utilisateurs. Ce mécanisme peut être associé soit à la modélisation d un système physique, soit à l interprétation d une simulation, ou à l explication du comportement normal d une installation, ou bien encore à son diagnostic. Puisque l intelligence artificielle représente une technique de résolution de problème, implantée sur ordinateur, capable de parvenir à la solution en procédant par un enchaînement dynamique d étapes interprétables par l utilisateur, les techniques qui en relèvent sont beaucoup plus adaptées à la mise en œuvre d un raisonnement causal que les techniques classiques, puisque la trace du raisonnement fournit, par définition, des explications sur l obtention de la solution. Le diagnostic en particulier est typiquement un processus causal, puisqu il consiste à découvrir les composants défaillants qui permettent d expliquer le dysfonctionnement observé. Dans la phase de détection, aucun raisonnement causal n est nécessaire ; par contre, la phase de localisation consiste à chercher pourquoi un système ne fonctionne pas, en utilisant la connaissance sur la structure du système, ses défaillances potentielles et les observations disponibles. Une part importante de la connaissance requise pour le diagnostic est issue de la compréhension des mécanismes en termes de causalité. La causalité est donc intrinsèquement présente dans les formalisations utilisées pour rassembler les connaissances expertes de diagnostic lors des analyses de sûreté. Ces formalisations se prêtent particulièrement bien aux bases de connaissance des systèmes de production. En particulier, la première génération de systèmes experts avait pour objectif de gérer la connaissance empirique sur la manifestation des défaillances (leurs effets locaux, leurs conséquences sur le procédé entier) sous la forme de règles symboliques. Plus récemment, l approche causale est généralement soustendue par un graphe orienté ou un réseau sémantique. Les nœuds peuvent représenter des variables ou des concepts plus complexes (symptômes, défauts...). Ils sont reliés par des arcs qui représentent des relations fonctionnelles. x y signifie que l état de y à l instant t dépend de l état x à un instant t <t ; x est la cause, y est l effet. On peut parcourir le graphe depuis des causes jusqu à leurs effets (d un défaut à ses symptômes) ou en sens inverse (des symptômes jusqu à leurs causes). On sent bien ce que peut apporter dans un problème de diagnostic la déclarativité d un graphe. Une première approche consiste à effectuer le raisonnement causal sur le fonctionnement anormal de l installation. Alors, le graphe représente le fonctionnement en défaut et associe pannes, effets, non observables et effets observables (symptômes). On parle, dans ce cas, de diagnostic fondé sur les symptômes. Il permet souvent de structurer des connaissances expertes de diagnostic. La motivation est d utiliser les analyses réalisées dans le cadre des études de sûreté, incluant beaucoup de connaissance de diagnostic, et la valorisation de la connaissance heuristique sur les défaillances acquise au cours de l expérience (règles empiriques, intuitions statistiques, expérience compilée). En fiabilité, la méthode des arbres de pannes est une recherche inductive de la combinaison de causes à l origine d un événement non désiré ; cette combinaison est représentée graphiquement sous la forme d un arbre. Cette méthode conduit à un modèle de la combinaison des défaillances les plus plausibles et les plus probables, sous une forme logique et causale. Elle est efficace tant que le comportement des composants est relativement indépendant. La manifestation des défaillances sous forme de symptômes observables suit des relations causales dont les lois physiques sous-jacentes ne sont usuellement pas connues sous forme analytique. La recherche des défaillances à l origine des symptômes détectés repose sur des parcours d arbres symptômes-pannes, qui sont des arbres de pannes dans lesquels les symptômes détectables ont été ajoutés : les événements d un arbre symptômes-pannes sont des faits linguistiques décrivant les effets non observables de la défaillance, tandis que les symptômes sont des paramètres estimables. Un raisonnement à base de règles peut donc être implémenté pour suivre ce modèle de recherche des défaillances, responsables possibles des symptômes observés lors de la phase de détection. Les recherches en diagnostic menées par la communauté de l intelligence artificielle ont conduit à structurer les modèles de pannes sous la forme de graphes. Par ailleurs, la communauté automaticienne a proposé l utilisation de modèles de comportement normal pour aider au diagnostic d installations complexes. On parle, dans ce cas, de diagnostic fondé sur un modèle. Il est donc naturel de rechercher des modèles de comportement normal sous la forme de graphes causaux, pour concilier les diverses approches, et éventuellement pouvoir les utiliser conjointement. Le graphe orienté est alors une représentation graphique des relations causales gouvernant le fonctionnement normal du système physique. Les nœuds sont les variables pertinentes pour le niveau de description souhaité, et les arcs représentent les relations causales entre ces variables. Le principe sous-jacent est que, si le graphe causal est un modèle de la propagation des phénomènes physiques dans le procédé, il est non seulement une bonne représentation de la propagation des effets de changements normaux (commandes, perturbations mesurables), mais aussi un bon moyen de suivre la propagation des effets de défaillance. Le graphe orienté signé est le graphe causal le plus simple : chaque arc porte un signe + ou selon le signe de l influence entre les variables ; + signifie que les variables évoluent dans le même sens, signifie qu elles varient en sens opposé. Les graphes orientés signés ont été initialement utilisés pour du filtrage d alarmes [33] : les alarmes sont détectées localement sur les nœuds ; le filtrage consiste ensuite à relier les alarmes détectées en respectant les signes des influences portées par le graphe, afin de localiser l alarme la plus en amont dans le graphe, les autres alarmes n étant alors que des conséquences. L objectif pratique du filtrage d alarmes basé sur un graphe causal est de localiser les variables sources à partir des variables de détection, donc d extraire un sous-graphe suspect. Dans ce processus, les graphes causaux permettent seulement la localisation de la défaillance et non pas l identification : plusieurs défaillances peuvent générer le même graphe suspect. Des extensions récentes ont été proposées pour tenir compte de la dynamique des phénomènes [34]. R Techniques de l Ingénieur, traité Mesures et Contrôle

17 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE Les graphes causaux apparaissent maintenant comme des outils adéquats pour la modélisation causale. Ils peuvent supporter des raisonnements variés, tels la simulation, le filtrage de défauts, la localisation de pannes... Comme les arcs d un graphe symbolisent les relations causales entre les variables, le graphe est une représentation de la causalité des phénomènes physiques dans l installation. Par conséquent, il peut être utilisé pour comprendre la propagation d actions, de perturbations ou de défaillances. Les graphes causaux sont avant tout des structures qui peuvent être enrichies selon la connaissance disponible et la précision requise par le raisonnement. Les graphes spécialisés dans l identification de défaillances peuvent inclure différents types de nœuds et d arcs : les nœuds peuvent être des défauts observables, des défaillances potentielles... Les nœuds de graphes spécialisés dans la localisation de défauts correspondent à des variables continues auxquelles peuvent être associées des alarmes ou des notions plus fines telle l erreur de simulation, et les arcs peuvent intégrer le seul signe de l influence ou des fonctions dynamiques plus complexes. Ce paragraphe a montré toute la complexité de la tâche de supervision globale d un procédé et les quelques outils qui semblent permettre d aborder ce problème, qui reste encore très ouvert. Les raisonnements relatifs à la supervision sont très variés ; abductifs, hypothétiques, non monotones, temporels, causaux, qualitatifs, dont la plupart restent encore des domaines de recherche. Si le système de supervision est complet, il doit fournir à l opérateur humain une aide à la décision et il faut donc se préoccuper des techniques relevant de ce domaine dans le contexte de données mentionné plus haut. Pour accélérer tous ces processus, il devrait être possible d utiliser les développements du parallélisme et la notion de tâches concurrentes. Garantir la sûreté de l ensemble est un autre défi fondamental. 5. Conclusion Nous avons essayé de montrer que l automatique est une discipline scientifique aux applications complexes et variées pour lesquelles il est clair que des capacités de raisonnement symbolique ou des approches connectionistes peuvent constituer un apport intéressant. Plusieurs facteurs rendent néanmoins cette utilisation difficile. En fait, il ne s agit surtout pas de voir l intelligence artificielle comme un substitut aux méthodes traditionnelles. Même si les algorithmes de commande floue ou neuronale se multiplient, ils ne constituent pas une révolution pour l automatique classique, puisqu ils mettent en œuvre des concepts anciens, mais plutôt une transition vers d autres techniques de représentation des lois de commande. Tous les problèmes de conception et de supervision ont à attendre des progrès grâce au raisonnement symbolique. Les échecs de l automatisation avancée des grandes installations industrielles peuvent être expliqués par l incompatibilité totale entre le modèle objectif de l ingénieur automaticien et le modèle subjectif de l opérateur exploitant le système numérique de contrôle-commande. L intelligence artificielle devrait réduire cette incompatibilité. Les problèmes sont très ouverts car l idéal est d aboutir à un véritable partenariat entre l opérateur et le système plutôt qu à une totale substitution du premier par le deuxième. Pour finir, il est intéressant de noter la grande rapidité d évolution de ce secteur. Il y a une dizaine d années, les applications industrielles étaient quasi inexistantes. Nul doute que l avenir nous réserve encore de belles surprises. Références bibliographiques [1] BARR (A.) et FEIGENBAUM (E.A.). The handbook of artificial intelligence. É. Pitman [2] HÉRAULT (J.) et JUTTEN (Ch.). Réseaux neuronaux et traitement du signal. Éd. Hermes [3] DUBOIS (D.) et GENTIL (S.). Intelligence artificielle pour l automatique. Revue d intelligence artificielle, 8, 1, p. 1-27, [4] BOULLART (L.), KRINJGSMAN (A.) et VINGERHOODS (R.). Application of artificial intelligence in process control. Éd. Pergamon Press [5] KAUFMANN (A.). Introduction à la logique floue. Techniques de l Ingénieur. Mesures et Contrôle, R 7 032, [6] FARRENY (H.). Exercices programmés d intelligence artificielle. Éd. Masson [7] CHARNIAK (E.) et MAC DERMOTT (D.). Introduction to artificial intelligence. Éd. Addison Wesley [8] BARRAT (J.P.), BARRAT (M.) et LECLUSE (Y.). Exemple d application de la logique floue, commande de la température d un four pilote. Techniques de l Ingénieur, Mesures et Contrôle, R 7 428, [9] FARRENY (H.) et GHALLAB (M.). Éléments d intelligence artificielle. Éd. Hermes Traité des nouvelles technologies, série intelligence artificielle, [10] GRIFFITH (M.). Techniques algorithmiques pour l IA. Éd. Hermes [11] JOHANNSEN (G.) et ALTY (J.). Knowledge engineering for industrial expert systems. Automatica, 27, 1, p , [12] KADSII Project. Knowledge acquisition and design structuring - Projet ESPRIT II 5248, [13] KRIJGMANS (A.), JAGER (R.) et VERBRUG- GEN (H.). Real time autonomous control. IFAC World Congress (Sydney) p , [14] LAUBER (R.). Artificial intelligence techniques in real-time control systems. IFAC World Congress (Sydney) p , [15] RODD (M.), VERBRUGGEN (H.) et KRIJGSMAN (A.). Artificial intelligence in real-time control. Eng. Applic. Artific. Intell., 5,5, p , [16] ALLEN (J.). Towards a general theory of action and time. Artificial Intelligence 23, p , [17] HAYES-ROTH (P.). Architectural foundations for real-time performance in intelligent agents. Real time systems 2, [18] REAKT Project. A methodology for realtime KBS Applications. Projet ESPRIT II 5146, [19] ASTRÖM (K.) et Mc AVOY (T.). Intelligent Control. J. of Process Control. 2, 3, p , [20] Actes de l École d été d automatique de Grenoble. Intelligence artificielle et automatique. Coordinateur Gentil (S.), [21] POPESCU (D.) et GENTIL (S.). Commande numérique et intelligence artificielle en automatique. Éd. Editura Technica (Bucarest) [22] BARRAUD (A.) et GENTIL (S.). La CAO pour l automatique. Éd. Hermès. Technologies de pointes, 23, [23] SZAFNICKI et GENTIL (S.). A knowledge base for an expert identification package. Control Engineering Practice 3, 6, p , [24] GENTIL (S.), MICHAU (F.) et BASSOT (C.). Deriving qualitative properties from physical process behaviour in control engineering. Interactive Learning Environment Journal, special issue on the use of qualitative reasoning techniques in interactive learning environment, 5, part 2, [25] GALICHET (S.) et FOULLOY (L.). Fuzzy controllers, synthesis and equivalences. IEEE Trans. on Fuzzy Systems 3, 2, p , [26] JANG (J-S. R.) et SUN (C.T.). Neuro-fuzzy modeling and control. Proc. of the IEEE 83, 3, p , [27] GENTIL (S.). Intelligence artificielle pour la surveillance des procédés continus. Actes de l École d été d automatique de Grenoble. Coordinateur Cassar (J.P.) [28] Artificial Intelligence, n 24, [29] RAIMAN (O.). Order of magnitude reasoning. AAAI (Philadelphie) p , [30] DAGUE (P.). Qualitative reasoning, a survey of techniques and applications. A.I. Communications 8, 3/4, [31] CHEUNG (J.T.Y.) et STEPHANOPOULOS (G.). Représentation of process trends - Part I. A formal representation framework. Compu- Techniques de l Ingénieur, traité Mesures et Contrôle R

18 INTELLIGENCE ARTIFICIELLE APPLIQUÉE À L AUTOMATIQUE ters and Chemical Engineering 14, 4-5, p , [32] LEYVAL (L.), GENTIL (S.) et FERAY- BEAUMONT (S.). Model-based causal reasoning for process supervision. Automatica 30, 8, p , [33] PALOWITCH (B.L.) et KRAMER (M.A.). The application of a knwoledge-based expert system to chemical plant fault diagnosis, I. System architecture. Proceedings of the American Control Conference, p , [34] MONTMAIN (J.). Raisonnement approximatif et graphes causaux pour la détection et la localisation de défaillances. Journées d études du GDR Automatique : sureté, surveillance, supervision, R Techniques de l Ingénieur, traité Mesures et Contrôle

Démonstrations. Chapitre 4. 4.1 Introduction

Démonstrations. Chapitre 4. 4.1 Introduction Chapitre 4 Démonstrations L objectif de ce chapitre est de commencer à aborder la question fondamentale suivante : qu est-ce qu une démonstration? Pour cela, plus précisément, on va se focaliser dans ce

Plus en détail

Systèmes d'informations Géographiques - Graphes

Systèmes d'informations Géographiques - Graphes Systèmes d'informations Géographiques - Graphes Institut National des Sciences Appliquées - Rouen Département Architecture des Systèmes d'information michel.mainguenaud@insa-rouen.fr Graphe et Spatialisation!

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Analyse abstraite de missions sous PILOT

Analyse abstraite de missions sous PILOT Analyse abstraite de missions sous PILOT Damien Massé EA 3883, Université de Bretagne Occidentale, Brest damien.masse@univ-brest.fr Résumé Nous étudions la possibilité de réaliser un analyseur par interprétation

Plus en détail

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE Annexe MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE L enseignement des mathématiques au collège et au lycée a pour but de donner à chaque

Plus en détail

Intelligence 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 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étail

Modélisation de la Résolution de Problèmes

Modélisation de la Résolution de Problèmes Modélisation de la Résolution de Problèmes - Rappels : «Suite d opérations par lesquelles on conclut qu une proposition implique la vérité d une autre proposition» ( * ) Historiquement : Nécessité de séparer

Plus en détail

Fondements de l informatique: Examen Durée: 3h

Fondements de l informatique: Examen Durée: 3h École polytechnique X2013 INF412 Fondements de l informatique Fondements de l informatique: Examen Durée: 3h Sujet proposé par Olivier Bournez Version 3 (corrigé) L énoncé comporte 4 parties (sections),

Plus en détail

Plan du cours de Programmation logique

Plan du cours de Programmation logique Plan du cours de Programmation logique 1 Introduction 2 3 Igor Stéphan 1/ 64 La logique comme langage de programmation Un langage de programmation logique est défini par : un langage des données Ω; et

Plus en détail

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème.

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème. Mathématiques - classe de 1ère des séries STI2D et STL. 1. Analyse On dote les élèves d outils mathématiques permettant de traiter des problèmes relevant de la modélisation de phénomènes continus ou discrets.

Plus en détail

Diagnostic et décision

Diagnostic et décision Diagnostic et décision Bibliographie J. N. Chatain, DIagnostic par Système Expert, Traité des Nouvelles Technologies, série Diagnostic et Maintenance, édition Hermes 1993. B. Dubuisson, Diagnostic, intelligence

Plus en détail

Programme de Première

Programme de Première BAC TECHNO STAV 66 I. Algèbre Programme de Première Objectif 1 - Effectuer de manière autonome des calculs numériques ou algébriques, résoudre des équations ou inéquations en vue de résoudre des problèmes

Plus en détail

GIND5439 Systèmes Intelligents. Chapitre 2: Systèmes à base de règles

GIND5439 Systèmes Intelligents. Chapitre 2: Systèmes à base de règles GIND5439 Systèmes Intelligents Chapitre 2: Systèmes à base de règles Contenu du chapitre Définition de connaissances Représentation des connaissances Les règles Chaînage avant et arrière Résolution de

Plus en détail

Systèmes à base de règles

Systèmes à base de règles Systèmes à base de règles 1/100 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

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Principes de fonctionnement des moteurs d inférences. Le Moteur d Inférences (MI)

Principes de fonctionnement des moteurs d inférences. Le Moteur d Inférences (MI) Principes de fonctionnement des moteurs d inférences 1 Le Moteur d Inférences (MI) BCD Si A et B -> D Si A et non D -> non C BCP Moteur d Inférences A vrai C faux B? D? Le MI décide, en fonction de la

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Programmation Avancée - Prolog

Programmation Avancée - Prolog Programmation Avancée - Prolog N. Prcovic Programmation Avancée - Prolog p.1/26 Introduction La programmation logique est une forme particulière de programmation déclarative. La programmation déclarative

Plus en détail

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S

P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S P R O G R A M M E E T I N S T R U C T I O N S O F F I C I E L L E S POUR L ENSEIGNEMENT DE L INFORMATIQUE MPSI première année I. Objectifs de la formation II-1 Développement de compétences et d aptitudes

Plus en détail

Logique pour l informatique

Logique pour l informatique UR Sciences et Techniques Licence S&T 1 année Logique pour l informatique Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine 1 MATHEMATIQUES ET INORMATIQUE Travaux pionniers toujours d actualité

Plus en détail

l Intelligence Artificielle

l Intelligence Artificielle 1 Introduction à l Intelligence Artificielle Antoine Cornuéjols antoine@lri.fr http://www.iie.cnam.fr/~cornuejols/ I.I.E. & L.R.I., Université d Orsay Intelligence Artificielle : plan 2 1-2- 3-4- 5-6-

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013»

Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» Résumé du document «Programmes des classes préparatoires aux Grandes Écoles ; Discipline : Informatique ; Première et seconde années - 2013» I Objectifs Niveau fondamental : «on se fixe pour objectif la

Plus en détail

Évaluation et implémentation des langages

É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étail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Cours d algebre pour la licence et le Capes

Cours d algebre pour la licence et le Capes Cours d algebre pour la licence et le Capes Jean-Étienne ROMBALDI 6 juillet 007 ii Table des matières Avant-propos Notation v vii 1 Éléments de logique et de théorie des ensembles 1 11 Quelques notions

Plus en détail

Mathématiques. Classe de seconde. Introduction. Objectif général. Raisonnement et langage mathématiques

Mathématiques. Classe de seconde. Introduction. Objectif général. Raisonnement et langage mathématiques Mathématiques Classe de seconde Introduction La seconde est une classe de détermination. Le programme de mathématiques y a pour fonction : de conforter l acquisition par chaque élève de la culture mathématique

Plus en détail

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

Plus en détail

Technique d Intelligence Artificielle : Résumé

Technique d Intelligence Artificielle : Résumé Technique d Intelligence Artificielle : Résumé Chapitre 1 : Préambule 1.1 Système classique de gestion! Processus bien défini et bien connu! Utilisateur passif! Ex : logiciel de gestion Généralement, il

Plus en détail

Système à Base de Règles. EPITA SYBR SCIA Adrien Pain -Version 1 (11) Philippe Morignot V2(oct. 12), V3 (oct. 13), V4 (sept. 15)

Système à Base de Règles. EPITA SYBR SCIA Adrien Pain -Version 1 (11) Philippe Morignot V2(oct. 12), V3 (oct. 13), V4 (sept. 15) Système à Base de Règles EPITA SYBR SCIA Adrien Pain -Version 1 (11) Philippe Morignot V2(oct. 12), V3 (oct. 13), V4 (sept. 15) Plan du cours 1. Diagnostic 2. Systèmes experts 3. Algorithme RETE 4. Travaux

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes 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étail

NOTES DE COURS (SUPPLÉMENTAIRES) POUR LE COURS MATHÉMATIQUES DISCRÈTES MAT1500. References

NOTES DE COURS (SUPPLÉMENTAIRES) POUR LE COURS MATHÉMATIQUES DISCRÈTES MAT1500. References NOTES DE COURS (SUPPLÉMENTAIRES) POUR LE COURS MATHÉMATIQUES DISCRÈTES MAT1500 ABRAHAM BROER References [R] Kenneth H. Rosen, Mathématiques discrètes, Édition révisée Chenelière McGraw-Hill, 2002. 1. But

Plus en détail

Introduction au datamining

Introduction au datamining Introduction au datamining Patrick Naïm janvier 2005 Définition Définition Historique Mot utilisé au départ par les statisticiens Le mot indiquait une utilisation intensive des données conduisant à des

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES 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étail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Il y a trois types principaux d analyse des résultats : l analyse descriptive, l analyse explicative et l analyse compréhensive.

Il y a trois types principaux d analyse des résultats : l analyse descriptive, l analyse explicative et l analyse compréhensive. L ANALYSE ET L INTERPRÉTATION DES RÉSULTATS Une fois les résultats d une investigation recueillis, on doit les mettre en perspective en les reliant au problème étudié et à l hypothèse formulée au départ:

Plus en détail

Résolution générique à la volée de systèmes d équations booléennes et applications

Résolution générique à la volée de systèmes d équations booléennes et applications Résolution générique à la volée de systèmes d équations booléennes et applications Radu Mateescu INRIA Rhône-Alpes / VASY Plan Introduction Systèmes d équations booléennes d alternance 1 Algorithmes de

Plus en détail

Synthèse «Le Plus Grand Produit»

Synthèse «Le Plus Grand Produit» Introduction et Objectifs Synthèse «Le Plus Grand Produit» Le document suivant est extrait d un ensemble de ressources plus vastes construites par un groupe de recherche INRP-IREM-IUFM-LEPS. La problématique

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

! S. Russell & P. Norvig : Artificial Intelligence: A modern approach (2nd ed.).

! S. Russell & P. Norvig : Artificial Intelligence: A modern approach (2nd ed.). Introduction à l intelligence artificielle (recherche dans les graphes) Ouvrages conseillés! S. Russell & P. Norvig : rtificial Intelligence: modern approach (nd ed.). Prentice Hall, 003 (Trad. française

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

(3.22) Interchangeabilité mutuelle : p q r p q r

(3.22) Interchangeabilité mutuelle : p q r p q r Préséance (priorité) des opérateurs (1) [x := e] (substitution textuelle) (prioritéélevée) (2). (application de fonction) (3) + P (opérateurs unaires préfixes) (4) / mod pgcd (5) + (opérateurs binaires)

Plus en détail

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population.

Première STMG1 2014-2015 progression. - 1. Séquence : Proportion d une sous population dans une population. Première STMG1 2014-2015 progression. - 1 Table des matières Fil rouge. 3 Axes du programme. 3 Séquence : Proportion d une sous population dans une population. 3 Information chiffrée : connaître et exploiter

Plus en détail

BASES DU RAISONNEMENT

BASES DU RAISONNEMENT BASES DU RAISONNEMENT P. Pansu 10 septembre 2006 Rappel du programme officiel Logique, différents types de raisonnement. Ensembles, éléments. Fonctions et applications. Produit, puissances. Union, intersection,

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. 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étail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Informatique Première et seconde années

Plus en détail

Factorisation des matrices creuses

Factorisation des matrices creuses Chapitre 5 Factorisation des matrices creuses 5.1 Matrices creuses La plupart des codes de simulation numérique en mécanique des fluides ou des structures et en électromagnétisme utilisent des discrétisations

Plus en détail

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP)

Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Rapport du Jury du Concours 2010 Épreuve Pratique d Algorithmique et de Programmation (EPAP) Loris Marchal, Guillaume Melquion, Frédéric Tronel 21 juin 2011 Remarques générales à propos de l épreuve Organisation

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

Plus en détail

Master Informatique Fondamentale - M1 Compilation

Master Informatique Fondamentale - M1 Compilation Master Informatique Fondamentale - M1 Compilation Analyse Statique Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr perso.ens-lyon.fr/paul.feautrier 12 mai 2007 1 / 38 Indécidabilité de la Terminaison

Plus en détail

Fondamentaux pour les Mathématiques et l Informatique :

Fondamentaux pour les Mathématiques et l Informatique : Université Bordeaux 1 Licence de Sciences, Technologies, Santé Mathématiques, Informatique, Sciences de la Matière et Ingénierie M1MI1002 Fondamentaux pour les Mathématiques et l Informatique Fondamentaux

Plus en détail

INFO-F-302 Informatique Fondamentale Projet : Logique du Premier Ordre et Utilisation de l Outil Z3

INFO-F-302 Informatique Fondamentale Projet : Logique du Premier Ordre et Utilisation de l Outil Z3 UNIVERSITÉ LIBRE DE BRUXELLES (corrected version 20120416) INFO-F-302 Informatique Fondamentale Projet : Logique du Premier Ordre et Utilisation de l Outil Z3 L objectif de ce projet est de modéliser des

Plus en détail

ALGORITHMIQUE. Notes du cours FS/1/6584 Année préparatoire au master 60 en informatique ULB UMH Gilles GEERAERTS (Université Libre de Bruxelles)

ALGORITHMIQUE. Notes du cours FS/1/6584 Année préparatoire au master 60 en informatique ULB UMH Gilles GEERAERTS (Université Libre de Bruxelles) ALGORITHMIQUE A L G O R I T H M I Q U E Notes du cours FS/1/6584 Année préparatoire au master 60 en informatique ULB UMH Gilles GEERAERTS (Université Libre de Bruxelles) ANNÉE ACADÉMIQUE 2008 2009 (2 E

Plus en détail

Bulletin officiel spécial n 9 du 15 octobre 2009. Annexe II c Définition des épreuves

Bulletin officiel spécial n 9 du 15 octobre 2009. Annexe II c Définition des épreuves Annexe II c Définition des épreuves Épreuve EP.1 : Épreuve d étude d un projet de construction Unité UP 1 Coefficient : 4 1 - Contenu de l épreuve Cette épreuve recouvre tout ou partie des compétences

Plus en détail

SCI03 - Analyse de données expérimentales

SCI03 - Analyse de données expérimentales SCI03 - Analyse de données expérimentales Introduction à la statistique Thierry Denœux 1 1 Université de Technologie de Compiègne tél : 44 96 tdenoeux@hds.utc.fr Automne 2014 Qu est ce que la statistique?

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits

Automatisation de la certification formelle de systèmes critiques par instrumentation d interpréteurs abstraits 1 d Automatisation de la certification formelle de systèmes critiques par instrumentation d sous la direction de Michaël Périn Soutenance de Thèse de Doctorat Université de Grenoble - Laboratoire Verimag

Plus en détail

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce Heuristique et métaheuristique IFT1575 Modèles de recherche opérationnelle (RO) 8. Optimisation combinatoire et métaheuristiques Un algorithme heuristique permet d identifier au moins une solution réalisable

Plus en détail

Cours de logique pour l informatique

Cours de logique pour l informatique Cours de logique pour l informatique Prof. Jean-François Raskin Département d Informatique Faculté des Sciences Université Libre de Bruxelles Année académique 2007-2008 0-0 Organisation pratique du cours

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Pourquoi l apprentissage?

Pourquoi 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étail

Devoir Maison. Michel Lévy. 20 avril 2009

Devoir Maison. Michel Lévy. 20 avril 2009 Devoir Maison Michel Lévy 20 avril 2009 1 Objectifs Le but de ce devoir, est essentiellement de vous faire connaître et de vous inciter à utiliser deux logiciels dont la base théorique est, très partiellement,

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

Plus en détail

RECHERCHE OPERATIONNELLE

RECHERCHE OPERATIONNELLE RECHERCHE OPERATIONNELLE PROBLEME DE L ARBRE RECOUVRANT MINIMAL I - INTRODUCTION (1) Définitions (2) Propriétés, Conditions d existence II ALGORITHMES (1) Algorithme de KRUSKAL (2) Algorithme de PRIM I

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

CI-4 PRÉVOIR ET SUPPRIMER LES

CI-4 PRÉVOIR ET SUPPRIMER LES CI-4 LES CONTRAINTES DE MONTAGE D UN SYSTÈME. Objectifs ANALYSER - OPTIMISER A la fin de la séquence de révision, l élève doit être capable de B2 Proposer un modèle de connaissance et de comportement Déterminer

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Objectifs du cours d aujourd hui Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Continuer l approfondissement de la programmation de

Plus en détail

Analyse de sûreté des systèmes informatisés : l approche de l IRSN

Analyse de sûreté des systèmes informatisés : l approche de l IRSN 02 Novembre 2009 Analyse de sûreté des systèmes informatisés : l approche de l IRSN 1 ROLE DES SYSTEMES INFORMATISES DANS LES CENTRALES NUCLEAIRES Les centrales nucléaires sont de plus en plus pilotées

Plus en détail

Programmation fonctionnelle

Programmation fonctionnelle Programmation fonctionnelle Cours + exos corrigés Éric Violard Maître de conférences HDR à l université de Strasbourg Au terme de ce projet, je souhaite dédier ce livre à ma fille Julie et à son bonheur

Plus en détail

Programme de l enseignement obligatoire commun de mathématiques Cycle terminal de la série sciences et technologies du management et de la gestion

Programme de l enseignement obligatoire commun de mathématiques Cycle terminal de la série sciences et technologies du management et de la gestion Programme de l enseignement obligatoire commun de mathématiques Cycle terminal de la série sciences et technologies du management et de la gestion L enseignement des mathématiques au collège et au lycée

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN CHAPITRE 6 Arbres binaires Lycée Kléber MPSI, Option Info 2014/2015 1 Définitions 2 Parcours en largeur Parcours en profondeur Parcours préfixe, infixe, postfixe Reconstitution 3 Recherche Complexité Insertion

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Mathématiques. Classe de seconde. Introduction. Raisonnement et langage mathématiques

Mathématiques. Classe de seconde. Introduction. Raisonnement et langage mathématiques Mathématiques L objectif de l enseignement des mathématiques dans la série sciences et technologies de l hôtellerie restauration (STHR) est double. Il s agit d une part de former les élèves à la démarche

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : Accès à l'université chez DUNOD Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD Les supports de cours ne sont pas complets, ils ne contiennent ni les démonstrations,

Plus en détail

INFORMATIQUE. Licence 3 e année (L3) & Master (M1-M2) Centre d Etudes Suisse Romande Formation universitaire

INFORMATIQUE. Licence 3 e année (L3) & Master (M1-M2) Centre d Etudes Suisse Romande Formation universitaire Centre d Etudes Suisse Romande Formation universitaire INFORMATIQUE Licence 3 e année (L3) & Master (M1-M2) En collaboration avec l Université de Franche-Comté CTU de Besançon Unidistance 2 GÉNÉRALITÉS

Plus en détail

Cahier de vacances - Préparation à la Première S

Cahier de vacances - Préparation à la Première S Cahier de vacances - Préparation à la Première S Ce cahier est destiné à vous permettre d aborder le plus sereinement possible la classe de Première S. Je vous conseille de le travailler pendant les 0

Plus en détail

Leçon 1: les entiers

Leçon 1: les entiers Leçon 1: les entiers L ensemble N des entiers naturels Compter, dresser des listes, classer et comparer des objets interviennent dans de multiples activités humaines. Les nombres entiers naturels sont

Plus en détail

VOUS AVEZ DIT LOGIQUE?

VOUS AVEZ DIT LOGIQUE? N 263 - DURAND-GUERRIER Viviane VOUS AVEZ DIT LOGIQUE? Il est fréquent de considérer que la logique formelle qui gouverne le raisonnement mathématique s oppose de manière radicale à la logique de sens

Plus en détail

Programmes du collège

Programmes du collège Bulletin officiel spécial n 6 du 28 août 2008 Programmes du collège Programmes de l enseignement de mathématiques Ministère de l Éducation nationale Classe de quatrième Note : les points du programme (connaissances,

Plus en détail

Table des matières. 3 Suites de nombres réels 29. 3.2 Limites... 30

Table des matières. 3 Suites de nombres réels 29. 3.2 Limites... 30 Table des matières 1 Généralités 3 1.1 Un peu de logique................................. 3 1.1.1 Vocabulaire................................ 3 1.1.2 Opérations logiques............................ 4 1.1.3

Plus en détail

Managements des risques industriels : quelques verrous scientifiques et techniques à résoudre pour le futur. Le point de vue d'un industriel.

Managements des risques industriels : quelques verrous scientifiques et techniques à résoudre pour le futur. Le point de vue d'un industriel. Managements des risques industriels : quelques verrous scientifiques et techniques à résoudre pour le futur. Le point de vue d'un industriel. Workshop du GIS 3SGS Reims, 29 septembre 2010 Sommaire Missions

Plus en détail

L apprentissage automatique

L apprentissage automatique L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Chapitre 1 Architecture des calculateurs 1.1 Introduction Ce paragraphe n a pas la prétention de présenter un cours d informatique. D une manière générale, seuls les caractéristiques architecturales qui

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Unité Systèmes d'information CM : 45h - TD : 60h - TP : 12h - Coeff 2 Systèmes de Gestion de Bases de Données Modéliser

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systè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étail

Chapitre I. Probabilités. Bcpst 1 2 novembre 2015. I Exemples d expériences aléatoires

Chapitre I. Probabilités. Bcpst 1 2 novembre 2015. I Exemples d expériences aléatoires Chapitre I Probabilités Bcpst 1 2 novembre 2015 I Exemples d expériences aléatoires Une expérience aléatoire est une expérience dont on ne peut pas prédire le résultat avant de l avoir réalisée... ce qui

Plus en détail

Algorithmique et programmation : introduction

Algorithmique et programmation : introduction PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours, Semaine 0 avril mai 2013 Algorithmique et programmation : introduction Résumé Ce document décrit le module «Algorithmique et Programmation 1». Il introduit

Plus en détail

Chapitre 4 Modélisation et Conception de BD

Chapitre 4 Modélisation et Conception de BD Pourquoi une modélisation préalable? Chapitre 4 Modélisation et Conception de BD Il est difficile de modéliser un domaine sous une forme directement utilisable par un SGBD. Stockage physique Cohérence/intégrité

Plus en détail