Professional Documents
Culture Documents
Introduccin.
Un sistema experto es un sistema computacional que imita la conducta de un experto humano en algn
rea especfica. La idea detrs de crear un sistema experto es que puede permitirles a muchas personas que
se beneficien del conocimiento de una persona - el experto. Y puede dejar al experto para los problemas
ms difciles.
Proporcionndole una base de conocimiento para un cierto problema o contexto, ESTA permite crear un
sistema especialista para ese asunto.
ESTA posee todos los medios para escribir las reglas que constituyen la base del conocimiento y permite
realizar inferencias que aconsejen sobre la base de su conocimiento.
ESTA hace uso de parmetros como variables para determinar el flujo de mando entre las secciones.
Cualquier parmetro consiste en un campo de la declaracin y un campo del tipo. Ms all pueden usarse
varios campos optativos, dependiendo del tipo del parmetro, para describir el parmetro. Un parmetro
puede ser uno de lo siguiente cuatro tipos:
boolean parameter
text parameter
number parameter
category parameter
Cualquier parmetro puede obtener un valor en uno de las maneras siguientes:
Por una respuesta a una pregunta.
Como resultado de seguir algunas reglas.
Una asignacin que resulta de un asigne accin.
Sintaxis bsica de ESTA.
parameter name 'El nombre del usuario'
type text
question 'Cmo te llamas?'
parameter pc_colour 'El color favorite del usuario'
type category
options
red,
blue,
green.
question 'Cul de los siguientes colores prefieres?'
picture 'colour_screen_picture'
Universidad Nacional de Ingeniera.
Facultad de Ciencias y Sistemas.
Inteligencia Artificial.
parameter colour 'Unas palabras que describen el color'
type text
explanation
'Los humanos normalemte usan los nombres de los colores para describer la frecuencia especfica de la
onda de luz correspondiente. Este parmetro representa colores como el rojo, azul, etc'
rules
'blue' if frequency < 1000,
'red' if frequency > 2000 and frequency < 3000,
'invisible'.
Luego la accin del consejo es ejecutada por un Advice estableciendo los valores de todos los parmetros
involucrados en la expresin del texto y entonces escribiendo el texto resultante en una ventana en la
pantalla. Los cuadros pueden ser incluidos en cualquier parte en el consejo y por eso se mostrado en la
pantalla como parte del consejo. Su sintaxis es:
<advice>
::= advice <specification>
<specification> ::= <advice-item> {<specification>}
<advice-item> ::= text-expression | picture <picture-name>
Luego la asignacin se realize mediante los valores de los parmetros, de la siguiente manera: <assign>
::= assign <parameter-name> := <expression>
El siguiente ejemplo ilustra la asignacin.
section start 'Una seccin muy corta para ilustrar la asignacin'
assign n := 7 + 8 / 2
advice 'la evaluacin de 7 + 8 / 2 resulta en ' n
assign n := (7 + 8) / 2
advice 'la evaluacin de (7 + 8) / 2 resulta en ' n
'porque / tiene mayor prioridad que +.' &
'Observer que el parmetro cambia su valor'
parameter n 'n'
type number
El comando Chain Action permite consultar distintas bases de conocimientos, en el caso que el
conocimiento este estructurado en varias bases. La sintaxis es <chain> ::= chain <filename>
Adems pueden transferirse valores de parmetros entre dos BC usando save_values y restaurar el valor
en la nueva BC usando restore_values, pero se pierden las definiciones de los valores, y la nueva BC
desplaza a la antes cargada en la memoria de la PC.
El comando do action transfiere el mando a una nueva seccin, conocido esto como encadenamiento
hacia delante. Su sintaxis es:
section start 'primera seccin a ejecutarse'
Universidad Nacional de Ingeniera.
Facultad de Ciencias y Sistemas.
Inteligencia Artificial.
if answer = 'yes' (do positive_section, do next_section)
if answer = 'no' do negative_section
Dependiendo del valor de anwer, se ejecutara la parte positiva o negativa.
El comando do_section_of toma un argumento o un parmetro de la categora tipo; y la
correspondiente es una alternativa a las frases a menudo usadas en declaraciones de la seccin:
accin
Inteligencia Artificial.
if p1 and p2 and p3 and p4 and p5 and p6 and p7
advice 'realizando p1 - p7 es verdadero , se muestra este mensaje'
if not (p1 and p2 and p3 and p4 and p5 and p6 and p7)
advice 'el segundo mensaje se muestra una vez que p1 - p7 es falso'
section start2 'seccion start con stop'
if p1 and p2 and p3 and p4 and p5 and p6 and p7
(advice 'verificando p1 - p7 es verdadero , es mostrado el mensaje',
stop)
advice 'el Segundo mensaje es mostrao si p1 - p7 es falso'
La llamada call permite ejecutar procedimientos definidos anteriormente. La sintaxis para la accin de la
llamada es como sigue, ilustr con el construir-en procedimientos:
<call> ::= call clear_all() |
call clear_value(<parameter_name>) |
call display(<filename>) |
call
hyperadvice(<filename>,<name>) |
call restore_values(<filename>) |
call save_values(<filename>) |
call showpic(<picture_name>) |
call
sound(<Duration>,<Frequency>) |
call system(<string>)
Procedimientos:
Se crear un rbol para definir el
problema o conocimiento que seguir
la aplicacin experto y poder ayudar al
usuario a resolver su problema o
necesidad. Esto se desarrollar usando
la aplicacin ESTA (Expert Shell
System for Text Animation.)
1. Al ejecutar la aplicacin ESTA
aparece el mensaje de la figura,
si se est trabajando con la
versin educacional y para
todas las aplicaciones de
conocimientos creadas a partir
de ella.
2. Luego de la ventana de bienvenida puede empezar a crearse la base de conocimiento que servir
para el funcionamiento del sistema experto, como se indica a continuacin.
Inteligencia Artificial.
Inteligencia Artificial.
Inteligencia Artificial.
9. Posteriormente deber crearse cada una de la secciones del rbol, lo cual puede hacerse pulsando
doble clic desde el rbol.
10. La siguiente seccin a crear (crear_libro), mostrar en pantalla un mensaje., usando advice
indicando los pasos a seguir por el usuario.
section crear_libro : 'Indica al usuario como crear un libro electrnico '
advice
'' Nombre ' Los libros que crea Instructor pueden ser desde plantillas prediseadas, libros DHTML,
hasta evaluaciones diversas; y se trabajar con Blank Native ToolBook Book.'
11. La seccin crear_fondo se
define mediante un parmetro
fondo tipo boolean, de la
siguiente manera:
12. La seccin crear_fondo deber
evaluar si el usuario responde
Si / No a la pregunta del
parmetro.
Asignacin:
1. Realice
las
actividades
anteriores.
2. Completar los comentarios de
las secciones y parmetros anteriores.
3. Crear la seccin crear_pag, la cual debe preguntar al usuario, para que l elija las opciones de
crear una nueva pgina, usar una existente, o aplicar una plantilla de diseo.
4. Por cada una de estas opciones deber existir otra seccin que indique al usuario como realizar
cada actividad.
5. Crear un nuevo rbol para un problema determinado:
a. Con cuatro opciones iniciales.
b. Con cinco niveles de profundidad
c. Explicando cada uno de los pasos llevados a cabo tomando como referencia esta gua.
d. Usando parmetros tipo:
i. Boleanos.
ii. Categora.
iii. Texto.
Inteligencia Artificial.
Universidad Nacional de Ingeniera.
Facultad de Ciencias y Sistemas.
Asignatura: Inteligencia Artificial.
Gua de laboratorio para desarrollar sistemas expertos usando E. S. T. A.
Elaborado por: Ing. Ariel Chvez Toruo.
Introduccin.
Cuando se trabaja con ESTA, tambin existe la posibilidad de incluir el uso de interfaz grfica, as como
el uso de imgenes como zonas sensibles que se combinan con los parmetros definidos de las secciones
en la base de conocimientos.
Adems puede evaluarse mltiples parmetros, de manera que pueda realizarse una accin (llamar una
seccin) dependiendo si ms de uno de ellos es verdadero, falso, o tiene un valor especfico.
Objetivos.
Complementar la elaboracin de un Shell experto, maximizando la herramienta ESTA para la creacin y
uso de la base de conocimiento.
Procedimientos
Inicialmente complementaremos el rbol anteriormente creado, agregando la opcin programar en el
parmetro problema de la seccin start (inicial).
1. Editar el parmetro problema,
agregando la siguiente lnea de
cdigo y observando que la ltima
opcin debe terminar en (.).
Inteligencia Artificial.
Inteligencia Artificial.
10