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