BlackBoard PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

BlackBoard

diseo

Patrn de diseo: Los patrones de diseo son el esqueleto de las soluciones a problemas comunes en el desarrollo de software. Brindan una solucin ya probada y documentada a problemas de desarrollo de software que estn sujetos a contextos similares Patrn de arquitectura: Dan una descripcin de los elementos y el tipo de relacin que tienen junto con un conjunto de restricciones sobre cmo pueden ser usados. Expresa un esquema de organizacin estructural esencial para un sistema de software, que consta de subsistemas, sus responsabilidades e interrelaciones. En comparacin con los patrones de diseo, los patrones arquitectnicos tienen una nivel de abstraccin mayor.

Definicin
Patrn arquitectura para problemas que aplican estrategias de solucin no deterministas, esto lo hace mediante el ensamblado de subsistemas especializados y a partir de las soluciones parciales de estos construir una posible solucin parcial o aproximada

Componentes
knowledge sources: provee informacin necesaria para resolver una parte del problema blackboard: repositorio compartido de soluciones parciales, sugerencias e informacin sobre el problema publicadas por las fuentes de conocimiento. Control: cumple el rol de moderador, organiza el uso de la pizarra entre las diferentes fuentes de conocimiento

Solucin
Coleccin programas independientes Resolucin oportunista de problemas Soluciones parciales Componente moderador

Coleccin programas independientes (especializados en una tarea) trabajando de manera cooperativa bajo una misma estructura de datos Un componente central de control evala el progreso y coordina los programas especializados

Las soluciones parciales que se obtienen se combinan,cambian o rechazan el conjunto de estas se llama espacio de soluciones y se maneja con diferentes niveles abstraccin donde los ms altos son los de las potenciales soluciones El moderador decide en qu orden se ejecutarn los programas si ms de 1 puede hacer una contribucin

Funcionamiento

Estructura

Ventajas
Soluciona problemas donde analizar todo el rbol de soluciones es imposible(ajedrez). Diseo simple y reusable (solo cambian las fuentes de conocimiento). Escalabilidad. Fcil de agregar o actualizar fuentes de conocimiento.

Concurrencia. Todas las fuentes de conocimiento pueden trabajar en paralelo dado que son independientes entre s. Reusabilidad de los agentes fuentes de conocimiento.

Desventajas
Desarrollo complejo Testing complejo (no determinista) No garantiza solucin correcta Baja eficiencia

Usos
Prediccin del tiempo, comportamiento de mercados financieros, prediccin de terremotos, reconocimiento de voz e imgenes, aplicaciones con inteligencia artificial.

Ejemplo
Software para reconocimiento de voz
ENTRADA Voz grabada como Waveform SALIDA Escritura representativa de la frase. Hello Moto

* Waveform: forma de una seal expresada como onda en movimiento en un medio fsico.

Ejemplo
Software para reconocimiento de voz Abordando el problema Que necesitara? Lingstica: Estructura interna de las frases de un lenguaje. Fontica: Es la rama de la lingstica que estudia la produccin y
percepcin de los sonidos de una lengua con respecto a sus manifestaciones fsicas.

Conocimientos estadsticos: Para permitir establecer


contextos de las frases. Es decir, uno podra recurrir a la estadstica para ante dos palabras con la misma pronunciacin (Ej: to-two) decidir cul sera adecuada para la frase.

Ejemplo
Software para reconocimiento de voz
Puedo resolverlo pasando de la entrada a la salida directamente por una bsqueda? Puedo pensar en un componente nico que le de solucin al problema? Puedo establecer un orden lineal de ejecucin de los diferentes algoritmos? Puedo pretender dar respuesta exacta en todos los casos?

Ejemplo
Software para reconocimiento de voz Necesitamos que varios componentes trabajen articuladamente para dar solucin al problema. El trabajo de dichos componentes no sigue una ejecucin lineal. Necesitamos una interface comn de comunicacin.

Ejemplo
Software de reconocimiento de voz
Implementacin utilizando Blackboard pattern
1. Definir el problema 2. Definir el espacio solucin 3. Dividir el proceso de solucin en pasos 4. Dividir los conocimientos en componentes especializados en subproblemas 5. Definir el vocabulario del blackboard 6. Especificar el sistema de control 7. Implementar las fuentes de conocimiento

Ejemplo
Software de reconocimiento de voz 1) Definir el problema Defino Dominio Defino campos de conocimiento necesarios Defino Input y determino algunas propiedas extras Defino Output y determino algunas propiedades extras

Ejemplo
Software para reconocimiento de voz 2) Definir el espacio solucin

Que constituye la solucin final? Dar jerarqua de abstraccin


FRASE ESCRITA

WAVEFORM

Phone

Slaba

Palabra

*Phone: La unidad de sonido ms pequea en una expresin lingstica oral

Ejemplo
Software para reconocimiento de voz 3) Dividir el proceso de solucin en pasos

Definir como pasar de un nivel de abstraccin a otro Definir como predecir una hiptesis en le mismo nivel de abstraccin Especificar los conocimientos que pueden ser usados para excluir hiptesis del espacio de solucin

Ejemplo
Software para reconocimiento de voz 4) Dividir el conocimiento en fuentes especializadas que resuelvan sub-problemas
Creador de Phone Creador de slabas Creador de Palabras Creador de frases Predecir palabras Verificar palabras

Ejemplo
Software para reconocimiento de voz 5) Definir el vocabulario
Definir la estructura de datos que se va a encontrar en la pizarra, como una interface comn de comunicacin entre todas las reas de conocimiento. Las hiptesis van a estar expresada con valores pertenecientes a la jerarqua de herencia + atributos(nombre del elemento, nivel de abstraccin, intrvalo de tiempo cubierto, credibilidad). [El+grande+sigue+siendo+River+Plate] (Frase) (48:225) (99%)

Ejemplo
Software para reconocimiento de voz 6) Especificar el control del sistema
Definir la estrategia de resolucin de problemas oportunista que va a deteminar que conocimiento(s) va(n) a poder hacer cambios en un momento determinado. Definir cundo una hiptesis es aceptada como solucin Ver diagrama de secuencia. Ej: ltimo nivel de abstraccin y 85% de confiabilidad.

Ejemplo
Software para reconocimiento de voz 7) Implementar las fuentes de conocimiento
Dividir cada fuente de conocimiento en condition-parts y action-parts de acuerdo a las necesidades del controlador. Se debe mantener la independencia, intercambiabilidad (puedo definir el mismo componente usando diversas estrategias algortmicas) y en lo posible generar componentes altamente reutilizables.

Ejemplos Concretos
Reconocedor de voz HEARSAY-II (1970): Fue
desarrollado para recibir una consulta sobre documentos de inteligencia artificial por voz, reconocerla y brindar el correspondiente documento. HASP/SIAP: Software diseado para detectar submarinos enemigos. Un sistema basado en Blackboard era utilizado para interpretar seales de radar. SUS(Software Understanding System): Es conocido como autor de patrones, permite construir mapas de patrones a partir de patrones base y del anlisis de distintos software.

También podría gustarte