Blackboard
Transcription
Blackboard
Styles architecturaux Styles généraux – Blackboard GLO-3001 Hiver 2010 Blackboard • Style de type “Shared repository” – Séparation des données et de leur traitement • Premier système – HEARSAY-II – Application de reconnaissance vocale • Utile pour la résolution de problème • stratégie de résolution non déterministe ou multiple. • Plusieurs sous-systèmes spécialisés • Combinent leurs connaissances • Pour construire une solution partielle ou approximative au problème 2 Blackboard • Métaphore – Plusieurs travailleurs tentent de trouver une solution – Tous les travailleurs dans une même pièce, autour d’un grand tableau – Chacun peut aller écrire de l’information ou lire l’information s’y trouvant • Chacun a son expertise – Les travailleurs ne communiquent pas directement entre eux • Réagissent plutôt aux informations qui sont placées sur le tableau par les autres travailleurs – Il n’existe aucun ordre préétabli pour interagir avec le tableau 3 Blackboard • Problème – Résolution de problèmes pour lesquels il n’y pas de solutions déterministes – Le domaine comporte souvent des incertitudes – on doit parfois se contenter de solutions approximatives. – Plusieurs sous-systèmes spécialisés – permettent de construire des solutions approximatives ou partielles. – Les sous-systèmes utilisent les résultats partiels des autres – Une résolution approximative du problème – se fait par l'expérimentation et la coopération des soussystèmes – Il n'existe pas d'ordre pré-établi entre les soussystèmes 4 Blackboard • Forces à équilibrer – Une recherche complète de l'espace de solution est infaisable dans un temps raisonnable – Le domaine est plutôt immature • On doit pouvoir expérimenter différents algorithmes pour une même sous-tâche, un même sous-problème • Les composantes doivent être interchangeables – Il existe différents algorithmes pour résoudre les problèmes partiels – Les données en entrée, les résultats intermédiaires ainsi que les résultats finaux ont différentes représentations (structures) – Les algorithmes sont implantés selon différents paradigmes – Un algorithme travaille sur les résultats d'autres algorithmes – De l'incertitude et des solutions approximées sont impliquées – L'utilisation d'algorithmes disjoints permet un possible parallélisme 5 Blackboard • Solution – Une collection de sous-systèmes indépendants, les Knowledge Sources (KS), travaillent en coopération sur une structure de données communes, le Blackboard • Chaque sous-système est spécialisé dans la résolution d'une partie particulière du problème global • Tous les sous-systèmes travaillent ensemble sur une solution – Pas d'interaction directe entre eux • Il n'existe pas de séquence prédéterminée pour l’activation des sous-systèmes – La direction prise par le système est principalement déterminée par l'état courant des données du système 6 Blackboard – Une composante de contrôle central, le Controller, évalue l'état courant du système et coordonne les sous-systèmes spécialisés • Ce contrôle dirigé par les données est appelé Résolution de problèmes opportuniste – Cette approche effectue des expériences avec différents algorithmes applicables et permet de contrôler le traitement par des heuristiques tirées des expériences précédentes – Le système travaille avec des solutions partielles qui sont combinées, modifiées ou rejetées • Chacune des solutions représente un sous-problème particulier et un certain niveau de la solution à ce problème partiel • L'ensemble de toutes les solutions possibles est appelé Espace des solutions et est organisé en niveaux d'abstraction – Le plus bas niveau consiste en une représentation interne des entrées – Le plus haut niveau consiste quant à lui en des solutions potentielles au problème global du système 7 Blackboard 8 Blackboard 9 Blackboard • Structure – Blackboard • Entrepôt de données central • Contient les éléments de l'espace des solutions • Fournit une interface permettant aux Knowledge Sources de lire et d'écrire des données sur le Blackboard – Seules les KS peuvent y placer ou lire de l’information • Peut être structuré en plusieurs partitions – Soient pour représenter une hiérarchie ou différents espaces • Les solutions possibles construites sont appelées hypothèses 10 Blackboard – Knowledge Sources • Sous-systèmes spécialisés indépendants • résolvent des aspects spécifiques du problème global • Aucun sous-systèmes n'est en mesure de résoudre le problème global – Une solution ne peut être construite que par l'intégration des résultats de plusieurs sous-systèmes • Les sous-systèmes ne communiquent pas directement entre eux – Les interactions se font indirectement par la lecture et l'écriture de données sur le Blackboard • Chaque sous-système est indépendant et responsable de connaître les conditions sous lesquelles il peut contribuer à une solution • 2 parties principales : – La partie condition évalue l'état courant du Blackboard et détermine s'il est en mesure de contribuer à une solution – La partie action produit un résultat qui peut amener un changement du contenu du Blackboard 11 Blackboard – Controller • Enregistrement des KS auprès du contrôleur • Exécute une boucle de contrôle • surveille les changements sur le Blackboard, et • décide de l'action à prendre • Cédule les évaluations des conditions des sous-systèmes ainsi que l'exécution de leurs actions • Doit déterminer à quel moment le système doit s'arrêter, et quel est le résultat final à fournir – Le système s'arrête lorsqu'une hypothèse acceptable est trouvée ou lorsque les ressources sont épuisées • Chaque étape de raisonnement introduit plusieurs nouvelles hypothèses – Le nombre d'étapes subséquentes possibles explose – Il est donc nécessaire de restreindre le nombre d'alternatives acceptables • Il est possible d'atteindre un état pour lequel aucun sous-système n'est applicable – Le système échoue la production d'une solution au problème 12 Blackboard • Comportement général du système 13 Blackboard • Systèmes existants – Très peu sont disponibles • GBBOpen - http://gbbopen.org/ • BB1 & BBK – http://www-ksl.stanford.edu/projects/BB1/bb1.html • Quelques applications – Satellite RADARSAT • Gestion des données et planification des visualisations – Surveillance distribuée de la météo – Jeu vidéo (Halo 2 et 3) 14 Blackboard • Avantages – Permet l'expérimentation des différents algorithmes et heuristiques dans la recherche d'une solution – Offre des supports pour la maintenance et la modification du système • Les sous-systèmes, le contrôleur ainsi que le Blackboard sont indépendants et remplaçables – Permet la réutilisation des sous-systèmes spécialisés – Offre des supports pour la tolérance aux fautes et la robustesse • Tous les résultats sont des hypothèses et seules les hypothèses qui sont fortement supportées par les données ainsi que par d'autres hypothèses survivent 15 Blackboard • Inconvénients – Il est difficile de tester ce type de système • Il est impossible de reproduire les résultats obtenus – Le système ne garantie pas la construction d'une bonne solution – Il est difficile d'établir une bonne stratégie de contrôle – Le traitement est de faible efficacité • Un niveau de traitement important est requis pour le traitement de l'ensemble des hypothèses dont un bon nombre seront rejetées – Demande un grand effort de développement – N'offre pas de support pour le parallélisme 16