Sunteți pe pagina 1din 17

Sistemas Expertos

Caso de Estudio: Seleccin de un microcontrolador

Introduccin
Un Sistema Experto (SE) clsico comienza con una serie de preguntas. En base a las respuestas genera una recomendacin. Para la recomendacin de un microcontrolador se debe proveer cierta informacin sobre el sistema en el cual se aplicar. El primer paso es colectar la informacin.

Ingeniera del conocimiento


Un sistema basado en reglas se relaciona con un dominio. Dominio: Subconjunto del conocimiento global. El proceso de colectar la informacin sobre el dominio es llamado Ingeniera del Conocimiento (IC). El ingeniero del conocimiento -sin tener que convertirse en un experto- debe conocer los requerimientos, principios, recursos y fronteras

Entrevistas y Documentacin
La IC es un proceso iterativo:

Charlas con los clientes (necesidades y recursos). Estimaciones del tiempo de desarrollo. Estudio sobre el dominio (se logra mejor comunicacin con los expertos). Entrevista con el experto. Estructura de la informacin recabada (esbozo, diagrama de flujo, etc). Cdigo Jess con comentarios.

Entrevistas
Debe haber acuerdos entre los clientes y los potenciales usuarios del sistema. La gente es la mejor fuente de informacin. La gente tambin recomienda libros, sitios web, y a otra gente que puede ayudar a entender el dominio del problema. Es conveniente no utilizar lenguaje especfico de programacin.

Reglas potenciales I
Juguetes especiales, como un auto a control remoto requiere alta velocidad de respuesta, necesita un ancho de palabra de 32 bits y consume bastante energa. Un sistema de frenos ABS implementa clculos crticos en tiempo limitado y 16 bits de ancho de palabra son suficientes. La implementacin de un lavarropas es de 16 bits y consume bastante energa.

Reglas potenciales II
La placa de un mouse ptico requiere ms de 80 MHz de velocidad, 32 bits y consume menos de 4.8 V. Cualquier sistema que requiera clculos crticos en tiempo limitado necesita alta velocidad de respuesta. Sistemas que requieren bastante energa deben contar con placas de ms de 4.8 Voltios. Una placa de alta velocidad de respuesta debe proveer ms de 80 MHz.

Reglas potenciales III


Caractersticas de algunos microcontroladores PIC32:

PIC32MX320: 4.8 V a 6 V, 80 MHz. PIC32MX200: menos de 4.8 V, 80 MHz.

Caractersticas de algunos microcontroladores PIC16:


PIC16F1947: 80 MHz. PIC16F8XX: 4.8 V a 6 V. PIC16F6XX: 80 MHz.

Reglas en Jess
(defrule calculos-criticos ?t <- (MAIN::aplicacion (complejidad-calculos "critica") (tiempo "limitado")) => (modify ?t (velocidad "rapido"))) (defrule energia-alta ?t <- (MAIN::aplicacion (energia "bastante")) => (modify ?t (energia (> 4.8))))

Revisin de reglas I
Generalmente, falta informacin. Se debe desarrollar una serie de nuevas preguntas y reunirse con el experto nuevamente (iteraciones). La IC no necesariamente termina cuando comienza el desarrollo. Se comienza a mostrar un prototipo en las entrevistas. A veces el ingeniero del conocimiento es tambin un programador.

Revisin de reglas II
(defrule calculos-criticos ?t <- (MAIN::aplicacion (complejidad-calculos "critica") (tiempo "limitado") (velocidad nil)) => (modify ?t (velocidad "rapido"))) (defrule energia-alta ?t <- (MAIN::aplicacion (energia "bastante")) => (modify ?t (energia 6)))

Organizacin de los datos


Las reglas Jess trabajan por reconocimiento de patrones sobre los hechos. Para escribir las reglas se debe tener idea de cmo sern los hechos y viceversa. Cmo empezar?

Candidatos para deftemplate: micro (un microcontrolador especfico), usuario (el operador del sistema), aplicacin (requerimientos), pregunta, respuesta, recomendacin.

Estructura del sistema


El recomendador necesita hacer cuatro cosas:

Inicializar la aplicacin. Ver qu micro recomendar. Mostrar al usuario los micros recomendados.

Estos tres pasos se mapean a tres fases de procesamiento: Mdulos inicio, recomendacion, reporte.

Organizacin de las reglas


Defmodules particiona los hechos y las reglas. Se necesita decidir qu templates van en cada mdulo observando qu reglas necesitan acceder a los datos. Recordar que si dos mdulos necesitan compartir una plantilla, sta debe estar en el mdulo main.

Observemos que en nuestro ejemplo tendremos dos templates: aplicacion y micro en el mdulo MAIN.

Escribiendo el cdigo I
Se codifica todo el conocimiento al formato de las reglas Jess:
(defrule auto-palabra ?t <- (MAIN::aplicacion (nombre "Auto a control remoto")) => (modify ?t (palabra 32)))

Para lanzar el sistema:


(deffunction ejecutar () (reset) (focus inicio recomendacion respuesta) (imprime-inicio) (run))

Escribiendo el cdigo II
La activacin y el lanzamiento de las reglas conduce a la asignacin del nombre del microcontrolador:
(defrule responder ?m <- (micro (nombre ~nil)) => (printout t ?m.nombre crlf))

Cdigo Resultante

S-ar putea să vă placă și