
La décadence d'une société commence quand l'homme se demande: Que va-t-il arriver? au lieu de se demander: Que puis-je faire?
(Denis de Rougemont)
Environnement et données du problème
Le CERN est un institut de recherche européen financé par 19 états membres, riche d'environ 3000 employés permanents. De plus, 5000 autres physiciens, ingénieurs et experts en informatique provenant de quelque 400 centres de recherche et universités distribués dans 40 pays ont la possibilité d'utiliser ses installations: les accélérateurs produisant des faisceaux de particules et les zones d'expérimentation. Le complexe d'accélérateurs du CERN est l'un des outils les plus sophistiqués au monde pour la recherche dans le domaine des hautes énergies. Son coeur est le Synchrotron à Protons (PS) qui joue le rôle d'injecteur pour les plus grands accélérateurs. L'exploitation de l'accélérateur et la maintenance du système de contrôle sous-jacent représentent des tâches extrêmement complexes. Les connaissances que cela suppose sont évidemment réparties, ainsi que le système de contrôle lui-même qui est composé de nombreux sous-systèmes différents. D'où l'idée d'appliquer à ce problème les méthodes et les solutions de type DAI (Intelligence Artificielle Distribuée) résultant de la coopération d'agents multiples [1]
.
L'utilisation de systèmes experts, de la logique floue et de réseaux de neurones n'est pas neuve au CERN, où de telles applications ont souvent été développées dans diverses divisions et groupes. Les activités dans le domaine de l'Intelligence Artificielle ont débuté dans le groupe de Contrôle du PS dès 1985, avec la modélisation des procédures de contrôle et d'opération de l'accélérateur à l'aide d'une machine LISP.
| retour à la table des matières |
Recherches sur la coopération d'agents et ARCHON
Ce document décrit les expériences pratiques que nous avons menées dans le but de tester les résultats théoriques de la DAI dans un environnement industriel réel. Nous y discutons les aspects théoriques et les résultats pratiques obtenus dans le cas du contrôle et de l'exploitation de l'accélérateur [2]
. Le CERN a participé au projet ARCHON(tm) [3]
[4]
[5]
, qui fait partie du programme ESPRIT-II. Sa contribution fut la mise à disposition de son système de contrôle d'accélérateur et de deux systèmes experts comme environnement de développement et d'évaluation pour les méthodologies et les logiciels issus de cette collaboration.
Le logiciel ARCHON est une couche coopérative permettant la combinaison de systèmes semi-autonomes partageant un but commun défini implicitement, qui dans notre cas est le contrôle fiable de l'accélérateur. Les divers agents peuvent être des systèmes pré-existants, car dans l'architecture d'ARCHON un agent est défini comme un Système Intelligent indépendant auquel on a ajouté la couche ARCHON. Les Systèmes Intelligents (bases de données, systèmes experts, systèmes de contrôle) sont des systèmes génériques industriels ayant chacun leur champ d'application propre. La couche ARCHON fournit les fonctionnalités nécessaires pour assurer l'aspect coopératif, de sorte que les agents peuvent communiquer entre eux pour coordonner leurs tâches de la même façon que les opérateurs humains qui, dans la chambre de contrôle, décident quand et comment coopérer.
Les problèmes, les éléments de compréhension et les expériences faites lors du déploiement de la technologie ARCHON pour cette application réelle, ainsi que pour une autre application en Espagne (un système de distribution d'électricité) sont également décrits dans la référence [6].
| retour à la table des matières |
Une méthode générale a été développée au CERN pour la coopération de systèmes experts ayant la particularité de créer des arbres d'hypothèses pour leurs diagnostics [1] . Cette méthode utilise essentiellement un type de coopération où les résultats sont partagés, ce qui permet d'accélérer le processus de diagnostic et de produire des résultats plus détaillés.
La coopération est basée sur l'échange d'hypothèses, ce qui s'adapte de façon naturelle dans la structure de diagnostic des systèmes experts et peut donc être appliquée aux systèmes experts déjà existants au prix seulement de légères modifications. En fait, l'échange d'hypothèses en tant que moyen de coopérer s'est avéré une méthode ayant un champ d'application plus général que simplement celui des diagnostics de systèmes experts.
Nous définissons une hypothèse généralisée comme un triplet constitué d'un objet, d'un élément susceptible d'être entaché d'une erreur et d'une méthode de vérification (comment procéder pour établir un diagnostic). Ce triplet constitue un paquet de connaissance dans un sens plus large. Les tâches impliquées par les méthodes de vérification peuvent être distribuées dans la communauté des agents. L'unité conceptuelle constituée par une hypothèse généralisée représente l'élément de connaissance de base, et l'échange d'hypothèses lors d'actions coopératives doit être formalisé en tant qu'échange de tels éléments. Cela revient à établir une stratégie d'Hypothèse-et-Test dans une forme distribuée mais néanmoins très compacte. Nous avons montré [2] que les concepts de diagnostic (tels que les symptômes ou les hypothèses d'erreur) et les concepts de tâche (tels que la surveillance, l'établissement d'un diagnostic, le contrôle et les actions correctives) peuvent aisément s'exprimer à l'aide de nos hypothèses généralisées.
La généralisation du concept d'hypothèse d'erreur a deux avantages majeurs: premièrement, elle donne une vue unifiée du contrôle, du diagnostic et de la correction, ce qui permet d'associer aisément les différentes tâches impliquées par le contrôle de l'accélérateur aux divers agents coopératifs; deuxièmement, elle offre une méthode évidente pour la transformation de systèmes intelligents autonomes en un système multi-agent coopérant par l'échange d'hypothèses.
| retour à la table des matières |
Dans certains scénarios, des appels mutuels répétitifs entre agents sont possibles et peuvent conduire à des boucles infinies, voire à des appels récursifs de profondeur infinie. La détection d'une boucle infinie ou d'appels récursifs est difficile, parce qu'un agent ne peut pas établir de façon fiable à partir de l'information locale dont il dispose si l'action de l'autre agent impliqué est une réponse ou non à un message qui lui a été envoyé. Nous avons développé un algorithme de détection de boucles infinies [2] et nous l'avons également intégré dans le concept d'hypothèse généralisée.
| retour à la table des matières |

Ces différents aspects ont de fortes corrélations. Certaines restrictions exprimées dans les règles constituant la programmation des modes opérationnels sont partiellement basées sur le résultats de l'analyse effectuée au niveau des bases de temps. Par exemple, si le générateur de base de temps principal ne peut jamais sélectionner une certaine combinaison lors de l'établissement d'une séquence de fonctionnement, cette combinaison peut être exclue déjà au niveau de la programmation. Automatiser la rétroaction entre les agents de diagnostic de niveaux inférieurs et la programmation des modes opérationnels de haut niveau revient à établir un mécanisme d'apprentissage automatique.
| retour à la table des matières |
| retour à la table des matières |
Laissez-nous conclure avec une anecdote: lorsqu'un des auteurs (P.S.) commença son travail au CERN en 1962, il dépensa beaucoup d'énergie pour convaincre son patron de passer de l'assembleur au FORTRAN comme langage de programmation. En vain! Quelques années plus tard, FORTRAN était devenu le principal langage utilisé au CERN. Le même auteur, à nouveau en avance sur son temps, se heurta à un refus lorsqu'il demanda au Centre de Calcul à pouvoir utiliser un compilateur C++. "Trop cher et aucun besoin pour un langage aussi excentrique" fut la réponse! De nos jours, C++ est considéré au CERN comme un langage orienté-objets rendant de grands services. C'est pourquoi nous ne sommes ni déçus, ni découragés. Du moment que nous sommes nous-mêmes convaincus par nos études, nous continuons à préparer le futur, et en particulier celui du CERN!
| retour à la table des matières |

| retour à la table des matières |
| retour au sommaire des FI 96 |
| Vos commentaires |
| © FI-SP96-3 septembre 1996 |