Práctica 2 – Sistemas Expertos y Kappa-PC

Anuncio
Ingeniería del Conocimiento
Ingeniería Electrónica
Práctica 2 – Sistemas Expertos y Kappa-PC
1. Práctica – Kappa-PC
Considere las siguientes reglas para aconsejar las actividades a una persona:
R1: vacaciones  examen = no  Tiempo_libre
R2:
dinero  Actividad = compras
R3: Tiempo_libre  dinero  Actividad = viaje
R4: examen = si  Actividad = estudio
R5:
desocupado  Tiempo_libre
Se desea determinar cuál será la actividad de Juan utilizando Kappa-PC, sabiendo que
está desocupado y tiene dinero.
a) Indicar como estructuraría la BD y que elementos agregaría para implementarlo.
b) Ahora suponga Pedro tiene vacaciones, no rinde examen, tiene dinero. Cómo
funcionaría el motor de inferencia en FC para este caso.
2. Práctica – Kappa-PC
Dadas las siguientes reglas para diagnóstico de enfermedades simples:
Si temperatura alta
Entonces fiebre
Si fiebre y dolores en el cuerpo y dolor de garganta
Entonces gripe
Si dolor de garganta y estornudos
Entonces resfrío
Si fiebre y gangleos
Entonces infección
Si resfrío
Entonces aspirina y abrigarse
Si gripe
Entonces paracetamol y acostarse
Si infección
Entonces antibióticos
a) Crear en Kappa-PC la estructura de objetos necesarios (y sus slots
correspondientes) para poder representar estructuradamente las variables del
sistema.
b) Implementar las reglas.
c) Probar el sistema tanto en Forward Chain como en Backward Chain.
3. Práctica – Kappa-PC
Dadas las siguientes reglas para diagnosticar problemas típicos en el uso de PCs:
Si programa falla
Entonces programa erróneo
Si programa erróneo
Entonces bug en el código
Si año de compra >= 2005
Entonces PC nueva
Si año de compra < 2005
Entonces PC vieja
Si programa lento y PC nueva
Entonces memoria insuficiente
Si programa lento y PC vieja
Entonces PC obsoleta
Si PC obsoleta
Entonces renovar PC
Si memoria insuficiente
Entonces memoria saturada
Si programa se tilda
Entonces conflictos
Si conflictos o memoria saturada
Entonces windows sobrecargado
Si bug en el codigo
Entonces corregir fuentes
Si windows sobrecargado
Entonces reiniciar PC
a) Crear en Kappa-PC los objetos necesarios y sus slots correspondientes para
poder representar estructuradamente las variables del sistema.
b) Implementar las reglas.
c) Probar el sistema tanto en Forward Chain (utilizando diferentes estrategias de
búsqueda) como en Backward Chain.
d) Modificar el sistema para que las reglas incorporen el uso de patrones.
e) Incorporar metaconocimiento (en forma de metareglas) para poder realizar las
inferencias en etapas.
4. Generación de reglas y Kappa-PC
Si los clientes tienen entre 15 y 25 años, les agrada el rock, y prefieren las bandas
nacionales es conveniente recomendarles “Circo Beat” de Fito Páez. Si en cambio
prefieren las bandas de rock extranjeras, la mejor opción es “Pop” de U2. Si el género
preferido es el folklore, lo más adecuado es “Tarefero de mis pagos” de Chango
Spasiuk.
Para los clientes de más de 25 años que se inclinan por el rock, y prefieren las bandas
nacionales, aconsejar “Almendra (1969)” de Almendra, si en cambio se inclinan por las
bandas extranjeras, conviene recomendar el “Álbum Blanco” de Los Beatles. En caso de
que prefieran el folklore, la mejor opción es “Vengo a ofrecer mi corazón” de Mercedes
Sosa.
a. Construya un modelo del dominio presentado, de forma de implementar en KappaPC un sistema capaz de recomendar un CD de música. Se espera que el árbol de
búsqueda tenga al menos dos niveles de operadores, y que la recolección de
información resulte pertinente.
b. Elegir una estrategia de búsqueda
c. Pruébelo en los siguientes casos:
- El cliente es Juan que tiene 20 años, le encanta el rock y prefiere la música nacional.
- El cliente es Susana, de 37 años que prefiere el folklore.
5. Generación de reglas y Kappa-PC
Dado el siguiente conjunto de reglas en pseudo-código, encontrar las reglas análogas en
lenguaje de Kappa-PC e implementar un sistema en dicho entorno:
Reglas generales
If motor=arranca_bien
Then NO HAY NINGUN PROBLEMA
If motor=no_arranca
Then Sistema_combustible=falla OR Sistema_bateria=falla
Sistema_ignicion=falla => COMO GIRA STARTER?
OR
Starter=falla
OR
If Starter=gira_lentamente
Then Sistema_bateria=falla OR Starter=falla => HACER EL TEST DE LA BATERIA
If Starter=gira
Then Sistema_bateria=bien And Starter=bien => MIRAR RELOJ COMBUSTIBLE
If motor=falsas_explosiones OR motor=ratea
Then Sistema_combustible=falla
OR Sistema_ignición=falla
COMBUSTIBLE
=>
MIRAR
RELOJ
Sistema de Ingnición
If Sistema_ignición=falla
Then Bujias=mal
If Bujias=mal
Then Bujias=viejas Or Bujias=incorrectas => CHEQUEE EL ESTADO DE LAS BUJIAS
If Estado_bujias=aureola
Then Bujias=incorrectas => REEMPLACE LAS BUJIAS POR LAS RECOMENDADAS DE
FABRICA
If Estado_bujias=poca_luz
Then Bujias=viejas => CAMBIE LAS BUJIAS
Starter
If Starter=falla
Then CAMBIE EL STARTER
Sistema de Bateria
If Test_bateria=mal
Then Bateria=Low
If Test_bateria=bien
Then Sistema_bateria=bien
If Bateria=Low
Then Sistema_bateria=falla
If Sistema_bateria=falla
Then Bateria=mal OR Alternador=no_carga => RECARGAR LA BATERIA E INTENTAR
NUEVAMENTE
If Carga_bateria=fracaso
Then Bateria=mal
If Carga_bateria=exitosa
Then Bateria=bien
If Alternador=no_carga
Then Alternador=falla => REPARE EL ALTERNADOR
If Bateria=mal
Then Electrolito=mal OR Placas=cortocircuito => CHEQUEAR ELECTROLITO Y PLACAS
O CAMBIAR BATERIA
Sistema de Combustible
If reloj_combustible=indica_empty
Then Tanque=vacio => CARGUE COMBUSTIBLE E INTENTE NUEVAMENTE
If reloj_combustible=no_indica_empty
Then Tanque=no_agotado
=> COMPROBAR SI LLEGA COMBUSTIBLE
If Combustible=llega
Then Sistema_combustible=bien
If Tanque=no_agotado And Combustible=no_llega
Then Sistema_combustible=falla => COMPROBAR
COMBUSTIBLE EF
EL
FUNCIONAMIENTO
If Combustible=no_llega And Combustible_EF=llega
Then Filtro=obstruido => LIMPIE EL FILTRO DE COMBUSTIBLE
If Tanque=no_agotado And Combustible_EF=no_llega
Then Bomba=falla => REEMPLACE LA BOMBA DE COMBUSTIBLE
DE
6. Interpretación, representación del conocimiento e implementación en
Kappa-PC
Desarrollar un sistema capaz de hacer un pronóstico del estado del tiempo, solicitando
al usuario la menor cantidad de información necesaria.
Los estratos son nubes de baja altura con aspecto de capas. Los nimboestratos son nubes
de altura media. Los cirroestratos son nubes de gran altura. Los cúmulos y
cumulonimbos pueden estar a baja o gran altura y su aspecto es como pilas de algodón,
pero los cumulosnimbos son grises, mientras que los cúmulos son blancos.
Si no hay nubes puede inferirse que el tiempo será soleado. La presencia de cúmulos
indica buen tiempo. Las nubes con estratos indican lluvia ligera pero si el viento sopla
de noreste a sur la lluvia puede ser prolongada. Las nubes con nimboestratos indican
lluvia breve si la dirección del viento es sur a norte, pero se indica lluvia persistente si la
dirección del viento es de noreste a sur. Los cumulonimbos indican chubascos. Los
cirroestratos indican lluvia en las 24 hs. si el viento es norte a sur.
A partir de la implementación realizada, se deberá estudiar el funcionamiento del motor
de inferencias de KAPPA-PC en:
a. forward chaining (utilizando diferentes estrategias de búsqueda)
b. backward chaining
7. Interpretación, representación del conocimiento e implementación en
Kappa-PC
Elección de monitor para PC
Los monitores para PC pueden clasificarse de acuerdo a su resolución. Los monitores de
baja resolución, pequeños, monocromáticos, aconsejables para aplicaciones de línea
tales como cajeros de supermercados. Los monitores estándar y los de resolución
mejorada, aconsejables para aplicaciones hogareñas o de oficina. En estas últimas
aplicaciones, si el monitor se utilizará durante períodos prolongados, se sugiere el de
resolución mejorada aunque por supuesto es más caro. Finalmente están los monitores
profesionales cuyo dot pitch es menor o igual a 0.28 pulgadas. Estos monitores
profesionales se aconsejan para aplicaciones específicas que requieren diferentes
características:
 Para diseño asistido por computadora (CAD) se requiere un manejo aceptable
del color, pero muy bajo nivel de distorsión y se aconseja pantalla plana.
 Para diseño gráfico, es fundamental un muy buen manejo del color.
 Para aplicaciones médicas, se aconseja monitor monocromático, pero con una
excelente escala de grises y relación de tamaño invertida (monitor vertical).
a) Educir las reglas para este sistema y la estructura del dominio.
b) Implementarlo en Kappa-PC.
8. Para discutir – Tipos de conocimiento
En cada caso, indicar si se trata de hechos o reglas, y si estos son inciertos,
imprecisos, heurísticos y/o subjetivos. Justificar.
a) Si una persona mide más de un metro ochenta, entonces es alta.
b) Es probable que hoy llueva.
c) Si elegimos una persona dentro de un grupo de 10, entonces con un 55 % de
certeza, es mujer.
d) Yo soy alto.
e) Cuando un monitor tiene lluvia, hay que mirar primero las resistencias laterales.
f) Si una PC no enciende, es probable que sea la fuente.
g) Los alumnos de esta facultad son mayormente hombres.
h) Escribir un programa prolijamente, facilita la detección de errores.
i) Estudiando una materia mientras la cursas es más fácil rendir el final.
j) Cuando se encuentra una falla mecánica en un auto, seguramente puede
arreglarse.
9. Para repasar - Métodos de búsqueda (en Kappa-PC)
Marcar V o F según corresponda:
a) Hay formas de lograr que el método de búsqueda Selectivo sea exhaustivo.
b) El método Best First, si se usa sin poner prioridades a las reglas deja de ser
exhaustivo.
c) El Backward Chain sólo puede ser usado si se tiene un objetivo que probar.
d) Si se carece de evidencia sólo se puede usar el Forward Chain.
e) Si se usa el método Best First sin prioridades en las reglas es muy parecido al
método de búsqueda en profundidad.
f) Los métodos de búsqueda sólo se aplican al Forward Chain.
g) El método de búsqueda horizontal no puede ser usado si se corre el motor sin
ningún objetivo.
h) Si todas las reglas tienen sólo un antecedente y sólo un consecuente, y si además
no hay hechos que figuren como antecedente de dos reglas diferentes, entonces
el método en profundidad y el horizontal trabajan de la misma forma.
10. Para recordar - Integrantes del desarrollo de un SE
Marcar V o F según corresponda:
a) El usuario final de un sistema experto tiene que conocer las reglas de la base de
conocimientos.
b) El experto del dominio tiene que decidir donde usar metaconocimiento.
c) El usuario final de un sistema experto tiene que saber en que lenguaje se
desarrolló el sistema.
d) El ingeniero del conocimiento tiene que orientar el sistema experto para el
usuario final.
e) El experto del dominio tiene que interactuar tanto con el Ingeniero del
conocimiento como con el usuario final.
f) El ingeniero del conocimiento es el responsable de que la base de conocimientos
no se solape con el motor de inferencias.
g) El experto del dominio, el usuario final y el ingeniero del conocimiento pueden
trabajar cada uno por su cuenta en el desarrollo del sistema experto.
h) El usuario final es el encargado de coordinar al ingeniero del conocimiento y al
experto del dominio para trabajar los tres en conjunto durante el desarrollo del
sistema experto.
Problema para entregar:
Lo siguiente es lo que respondió un experto en placas de video para PCs de escritorio,
cuando se le preguntó sobre las características principales a tener en cuenta a la hora
de seleccionar una placa de video para incorporarle a una computadora:
“A la hora de seleccionar una placa de video, se tienen que tener en cuenta algunos
factores fundamentales, que son compatibilidad, velocidad, y precio. En general las
placas de video de marca Nvidia son más compatibles con gran variedad de sistemas
operativos, ya que están fabricadas con componentes estándar y además la empresa
permite la descarga de actualizaciones de drivers desde Internet. Las placas de marca
ATI son buenas placas, y veloces, pero funcionan correctamente sólo bajo Windows,
quitándose responsabilidad el fabricante si el usuario desea instalar algún otro sistema
operativo. Los modelos más nuevos de Nvidia son bastante más rápidos que sus
antecesores, pero todo en detrimento del precio.
Comparando modelos de Nvidia y ATI lanzados al mercado en fechas similares, se
puede observar que el modelo de ATI correspondiente es un poco más veloz, aunque el
de Nvidia es más barato, salvo que se tome el mismo modelo de Nvidia pero con más
memoria interna, en cuyo caso el precio aumenta, pero las prestaciones son claramente
superiores.
Ahora bien, todo esto se tiene que tener en cuenta si el usuario desea la computadora
para algo más que utilización cotidiana de escritorio e Internet, es decir, básicamente
para juegos y diseño en 3 dimensiones.
Si el usuario solamente utilizará la computadora para escribir en algún procesador de
textos, navegar por Internet, o incluso ver películas en CD o DVD, le bastará con una
placa de video que venga incorporada en el motherboard de la computadora. Una
ventaja adicional es que las placas de video integradas son mas baratas que el modelo
correspondiente de una placa no integrada, probablemente porque el fabricante se ahorra
componentes en la memoria interna de la placa. En este caso, la memoria que se le
asignará a la placa de video puede ser variable (ya que se utiliza la memoria del sistema,
no memoria interna de la placa), pero lo que si hay que tener en cuenta son las marcas
de las placas de video integradas, por las mismas cuestiones de compatibilidad que se
enunciaron previamente.
Las motherboard marca Intel tienen integradas placas de video marca Nvidia, en cambio
las motherboard marca Asus, tienen integradas placas de video marca ATI. Las placas
de video integrada no ofrecen la posibilidad de tener salida a TV (característica bastante
útil cuando el cliente piensa ver películas con su computadora), en cambio cuando se
compra una placa de video no integrada, es posible por un poco de diferencia de precio
comprar el modelo que tiene salida a TV.
Lo que se le suele preguntar al cliente cuando viene a comprar una computadora es para
qué tiene pensado usarla, como para ver que background tiene y si va a necesitar algo
específico o se le puede dar lo estándar con el objetivo de ahorrar dinero. Obviamente
para esto se tiene en cuenta el presupuesto disponible por el cliente, y los conocimientos
de computación que pueda llegar a tener, para ver si luego él mismo podrá modificar la
configuración de su computadora (bajándose actualizaciones, instalando nuevo
hardware, o probando su nueva adquisición con diferentes sistemas operativos,
programas y/o juegos).”
Se pide:
a) Identificar algunos de los elementos del dominio del problema y especificar qué
rol cumplen.
b) Obtener del texto un grupo de entre 10 y 15 reglas implícitas y enunciarlas en
lenguaje natural.
c) Implementar en Kappa-PC un mini sistema experto, que le ayude a una persona
que tiene pensado comprarse una computadora a decidir qué placa de video
incorporar en su futura máquina. Implementarlo de la manera más conveniente
que crea, y explicitar en el informe del punto 4 las características que no haya
sido posible incorporarle (ya sea por dificultad, falta de tiempo, falta de
comprensión, etc.)
d) Escribir un pequeño informe, explicitando cómo y por qué se eligió la manera de
implementar que se usó, qué ventajas y desventajas tiene, y qué mejoras habría
que hacerle que no pudieron ser incorporadas en el TP, así como cualquier otro
detalle que crea conveniente.
Documentos relacionados
Descargar