SlideShare una empresa de Scribd logo
1 de 10
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
Asignatura: Inteligencia Artificial.
Guía de laboratorio para desarrollar sistemas expertos usando E. S. T. A.
Elaborado por: Ing. Ariel Chávez Toruño.
Introducción.
Un sistema experto es un sistema computacional que imita la conducta de un experto humano en algún
área específica. La idea detrás 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
más difíciles.
Proporcionándole 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 parámetros como variables para determinar el flujo de mando entre las secciones.
Cualquier parámetro consiste en un campo de la declaración y un campo del tipo. Más allá pueden usarse
varios campos optativos, dependiendo del tipo del parámetro, para describir el parámetro. Un parámetro
puede ser uno de lo siguiente cuatro tipos:
boolean parameter
text parameter
number parameter
category parameter
Cualquier parámetro puede obtener un valor en uno de las maneras siguientes:
Por una respuesta a una pregunta.
Como resultado de seguir algunas reglas.
Una asignación que resulta de un asigne acción.
Sintaxis básica de ESTA.
parameter name 'El nombre del usuario'
type text
question '¿Cómo te llamas?'
parameter pc_colour 'El color favorite del usuario'
type category
options
red,
blue,
green.
question '¿Cuál de los siguientes colores prefieres?'
picture 'colour_screen_picture'
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
parameter colour 'Unas palabras que describen el color'
type text
explanation
'Los humanos normalemte usan los nombres de los colores para describer la frecuencia específica de la
onda de luz correspondiente. Este parámetro representa colores como el rojo, azul, etc'
rules
'blue' if frequency < 1000,
'red' if frequency > 2000 and frequency < 3000,
'invisible'.
Luego la acción del consejo es ejecutada por un Advice estableciendo los valores de todos los parámetros
involucrados en la expresión 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 asignación se realize mediante los valores de los parámetros, de la siguiente manera: <assign>
::= assign <parameter-name> := <expression>
El siguiente ejemplo ilustra la asignación.
section start 'Una sección muy corta para ilustrar la asignación'
assign n := 7 + 8 / 2
advice 'la evaluación de 7 + 8 / 2 resulta en ' n
assign n := (7 + 8) / 2
advice 'la evaluación de (7 + 8) / 2 resulta en ' n
'porque / tiene mayor prioridad que +.' &
'Observer que el parámetro 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>
Además pueden transferirse valores de parámetros 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 sección, conocido esto como encadenamiento
hacia delante. Su sintaxis es:
section start 'primera sección a ejecutarse'
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
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 parámetro de la categoría tipo; y la acción
correspondiente es una alternativa a las frases a menudo usadas en declaraciones de la sección:
if <category parameter name> = <option1> do <option1>
if <category parameter name> = <option2> do <option2>
En lugar de listar todos los si-declaración que corresponden a las posibles opciones, puede escribir
simplemente: do_section_of <el nombre de parámetro de categoría>
En una sesión de la consultación el valor del parámetro determinará a que sección se transferirá el control.
Si el parámetro tiene no consiguió un valor, ESTA evalúa el parámetro primero y el valor obtenido es una
referencia a la sección correspondiente. La funcionalidad del do_section_of y el do_action es exactamente
el mismo. La diferencia es que usted no tiene que escribir todas las frases iguales con los hacer-
declaración, pero en cambio sólo una frase. Recuerde que que la opción nombra del parámetro de la
categoría debe corresponder a los nombres de la sección en la base de conocimiento.
Ejemplo
section start 'sección principal'
do_section_of problem
parameter problem : 'el problema con su carro'
type category
explanation
'Identifique el problema con su carro.'
options
starting_problems - 'Problema de arranque'
overheating - 'Motor sobrecalentado'
smell_of_gasoline - 'Olor a gasolina'
bad_running - 'El motor funciona mal'
brakes - 'Las llaves'
vibration - 'Vibración excesiva'
wiper_motor - 'ruido del motor'
light_problem - 'las luces'
horn_problem - 'calentamiento'.
question
'¿Cuál es el problema con su carro ' car ' ?'
picture 'car'
La function <exit> ::= exit simplemente termina la consulta a la actual base de conocimientos. En cambio
<stop> ::= stop realiza una parada para que no se realicen más acciones o ejecuten expresiones sobre la
BC.
section start1 'seccion start sin stop'
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
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 acción 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 aplicación experto y poder ayudar al
usuario a resolver su problema o
necesidad. Esto se desarrollará usando
la aplicación ESTA (Expert Shell
System for Text Animation.)
1. Al ejecutar la aplicación ESTA
aparece el mensaje de la figura,
si se está trabajando con la
versión 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 continuación.
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
3. Como se mencionó anteriormente, las bases
de conocimiento (BC) de ESTA (*.kb)
trabajan mediante árboles de búsquedas
donde sus nodos se llaman secciones y éstos
se comunican entre ellos, mediante
parámetros. Como práctica se creará el
siguiente árbol de sistema experto.
4. La primera sección (nodo inicial) debe
llamarse Star, y se crea así:
5. A continuación debe crearse el parámetro
inicial del problema, tipo categoría; es decir
opción múltiple. Y modifique el parámetro
de acuerdo con el siguiente código. Después
se guarda el parámetro pulsando Sí,
sobre la ventana de “Update problema
before closing”. Si desea modificar el
parámetro creado puede escogerse
Parámetros  Editar Parámetros, y
seleccionarlo de la lista.
6. Para verificar el progreso de la base de
conocimiento puede hacerse clic en
Consultar  Iniciar.
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
Observe que la sección start incluye en la pregunta Nombre; el
cual es un parámetro tipo texto. Y debe contener lo siguiente.
7. Al volver a la sección Star creada
inicialmente (Sección  Editar Sección),
debe escribirse lo siguiente:
8. Al definir por cada opción la sección a
ejecutar (do), automáticamente se crea la sección así nombrada (crear_libro, crear_pag, crear_bg.)
Lo que puede observarse desde :
parameter problema : 'Problema a resolver con ToolBook Instructor II'
type category
explanation 'Identificar en cual categoría se encuentra la situación a resolver a nivel de autor.'
options
libro - 'Crear un libro electrónico',
pagina - 'Crear o modificar página(s) en un libro existente',
fondo - 'Agregar o modificar un fondo de página'.
/* rules field */
question '' Nombre ' ¿Qué es lo que desea realizar? '
picture ' '
section start : 'Sección principal del programa '
if problema = 'libro' do crear_libro
if problema = 'pagina' do crear_pag
if problema = 'fondo' do crear_bg
parameter Nombre : ' '
type text
explanation ' '
/* rules field */
question '¿Cuál es su nombre? '
picture ' '
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
9. Posteriormente deberá crearse cada una de la secciones del árbol, lo cual puede hacerse pulsando
doble clic desde el árbol.
10. La siguiente sección a crear (crear_libro), mostrará en pantalla un mensaje., usando advice
indicando los pasos a seguir por el usuario.
11. La sección crear_fondo se
define mediante un parámetro
fondo tipo boolean, de la
siguiente manera:
12. La sección crear_fondo deberá
evaluar si el usuario responde
Si / No a la pregunta del
parámetro.
Asignación:
1. Realice las actividades
anteriores.
2. Completar los comentarios de
las secciones y parámetros anteriores.
3. Crear la sección crear_pag, la cual debe preguntar al usuario, para que él elija las opciones de
crear una nueva página, usar una existente, o aplicar una plantilla de diseño.
4. Por cada una de estas opciones deberá existir otra sección 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 guía.
d. Usando parámetros tipo:
i. Boleanos.
ii. Categoría.
iii. Texto.
section crear_libro : 'Indica al usuario como crear un libro electrónico '
advice
'' Nombre ' Los libros que crea Instructor pueden ser desde plantillas prediseñadas, libros DHTML,
hasta evaluaciones diversas; y se trabajará con Blank Native ToolBook Book.'
parameter fondo : ' '
type boolean
explanation ' '
/* rules field */
question '¿El libro electrónico ya tiene un fondo de página? '
picture ' '
section crear_bg : ' '
if (fondo) do elige_bg
if not(fondo) advice ''Nombre 'Pulse la función F4 para
trabajar en el fondo de la aplicación como si fuera una
página más del libro, y regrese a la página pulsando
nuevamente F4 cuando haya terminado '
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
Asignatura: Inteligencia Artificial.
Guía de laboratorio 6 para desarrollar sistemas expertos usando E. S. T. A.
Elaborado por: Ing. Ariel Chávez Toruño.
Introducción.
Cuando se trabaja con ESTA, también existe la posibilidad de incluir el uso de interfaz gráfica, así como
el uso de imágenes como zonas sensibles que se combinan con los parámetros definidos de las secciones
en la base de conocimientos.
Además puede evaluarse múltiples parámetros, de manera que pueda realizarse una acción (llamar una
sección) dependiendo si más de uno de ellos es verdadero, falso, o tiene un valor específico.
Objetivos.
Complementar la elaboración de un Shell experto, maximizando la herramienta ESTA para la creación y
uso de la base de conocimiento.
Procedimientos
Inicialmente complementaremos el árbol anteriormente creado, agregando la opción programar en el
parámetro problema de la sección start (inicial).
1. Editar el parámetro problema,
agregando la siguiente línea de
código y observando que la última
opción debe terminar en (.).
2. Insertar la siguiente condición en la sección start: if problema = 'programar' do sprogramar
3. La sección sprogramar debe preguntar independientemente si se desea programar en OpenScript o con
el Editor de Acciones, validando que ambas no pueden usarse a la vez. Para lo cual se definirán dos
parámetros: openscript y accionedit como tipo boléanos.
fondo - 'Agregar o modificar un fondo de página',
programar - 'Programar usando ToolBook Instructor II'.
section sprogramar : ' '
if (openscript) and (accionedit)
advice 'No es posible'
if (openscript) do sopenscript
if (accionedit) do saccionedit
if not(openscript) do
saccionedit
if not (accionedit) do
sopenscript
section sopenscript : ' '
if (openscript) advice 'OpenScript permite iniciar, mostrar, detener,
etc; las animaciones por trayectoria enviando mensajes a la
aplicación para indicar movimiento a través de la trayectoria o por
pasos a través de la misma, por medio de los mensajes'
parameter openscript : ' '
type boolean
explanation ' '
/* rules field */
question '¿Desea programar usando OpenScript para ToolBook?'
picture ' '
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
4. Otra opción es diseñar una pantalla
de bienvenida que incluya una
imagen alusiva al tema del sistema
experto. Lo cual se elige desde el
menú Imágenes  BD de imágenes,
y en la ventana emergente se pulsa
sobre el botón Importar… con la
salvedad que solo pueden agregarse imágenes en formato BMP y WMF, y se guarda dicha imagen con
un nombre en la base de datos de imágenes.
5. Importada la imagen, se elige Título  Nuevo título y se escribe *<nombreimagen>*. Únicamente
puede existir un título, por tanto al crear uno nuevo se remplazará el existente en caso que este exista.
6. También pueden definirse zonas sensibles asociadas a parámetros tipo categoría, lo que permite al
usuario utilizarlas en vez de elegir el texto de la opción. Esto se realiza de la siguiente manera:
6.1. Se importa una nueva imagen desde Imágenes  BD imágenes  Importar…
section saccionedit : ' '
if (accionedit) advice 'Es la herramienta de programación visual que permite crear o editar una serie de
comportamientos llamados secuencias de accciones. Éste incluye menús y barras de herramientas de
protocolos estándares y permiten responder a eventos, reproducir multimedia, mostrar cuadros de
entrada, modificar la apariencia y comportamiento de objetos, controlar la navegación, crear variables y
ciclos, etc'
parameter accionedit : ' '
type boolean
explanation ' '
/* rules field */
question '¿Desea utilizar el asistente para editar acciones?'
picture ' '
Inteligencia Artificial.
Universidad Nacional de Ingeniería.
Facultad de Ciencias y Sistemas.
6.2. Se guarda con un nombre. Si por accidente importó una
imagen incorrecta y pulsa el botón Eliminar, la imagen se
borrará de la base de imágenes y también se borrará de su
ubicación original.
6.3. La imagen importada se
selecciona y se pulsa la
pestaña Hotspot para definir
las zonas sensibles y los
parámetros correspondientes.
6.4. Se elige el parámetro, en este
caso problema, por que es el
parámetro inicial de start; y la
opción correspondiente para el
mismo.
6.5. Se activa la opción del atributo
visible / invisible y se dibuja
un rectángulo sobre la
imagen. Se repiten los pasos
6.4 y 6.5 por cada valor del
parámetro; y luego se pulsa
aceptar.
6.6. Para reflejar los cambios, debe
modificarse el parámetro
problema, y escribir picture
'menuesta'.
6.7. Al reiniciar la consulta se
observan los cambios
realizados.
Actividades.
1. Realizar las actividades de esta
guía.
2. Aplicar los nuevos
conocimientos en su propio
árbol de problema creado en el
laboratorio anterior.

Más contenido relacionado

La actualidad más candente

Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales    Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales Michele André
 
Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuarioaleja0940
 
Visual basic
Visual basicVisual basic
Visual basicmellcv
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSIsai Vazquez
 
Javacript: expresiones e instrucciones
Javacript: expresiones e instruccionesJavacript: expresiones e instrucciones
Javacript: expresiones e instruccionesjcremiro
 
Programacion en scratch
Programacion en scratchProgramacion en scratch
Programacion en scratchJohn Carabal
 
Conceptos básicos de programación y Fundamentos básicos de PSEINT
Conceptos básicos de programación y Fundamentos básicos  de PSEINTConceptos básicos de programación y Fundamentos básicos  de PSEINT
Conceptos básicos de programación y Fundamentos básicos de PSEINTJudith Martos Florez
 
Joption pane en java
Joption pane en javaJoption pane en java
Joption pane en javaRobert Wolf
 
Conceptos básicos de programación, fundamentos de programación pseint.
Conceptos básicos de programación, fundamentos de programación pseint.Conceptos básicos de programación, fundamentos de programación pseint.
Conceptos básicos de programación, fundamentos de programación pseint.ValentinaGarcia89
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntCristian C
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoDANNYOSE
 
Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoAbrirllave
 
Formato caso de_uso_y_diagrama_de_secuencia
Formato caso de_uso_y_diagrama_de_secuenciaFormato caso de_uso_y_diagrama_de_secuencia
Formato caso de_uso_y_diagrama_de_secuenciaSebastianrubio19
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeIntCristian C
 

La actualidad más candente (20)

Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales    Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales
 
Programacion
ProgramacionProgramacion
Programacion
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Guia rapida win_qsb
Guia rapida win_qsbGuia rapida win_qsb
Guia rapida win_qsb
 
Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuario
 
Visual basic
Visual basicVisual basic
Visual basic
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS
 
Javacript: expresiones e instrucciones
Javacript: expresiones e instruccionesJavacript: expresiones e instrucciones
Javacript: expresiones e instrucciones
 
Programacion en scratch
Programacion en scratchProgramacion en scratch
Programacion en scratch
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Conceptos básicos de programación y Fundamentos básicos de PSEINT
Conceptos básicos de programación y Fundamentos básicos  de PSEINTConceptos básicos de programación y Fundamentos básicos  de PSEINT
Conceptos básicos de programación y Fundamentos básicos de PSEINT
 
Joption pane en java
Joption pane en javaJoption pane en java
Joption pane en java
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Conceptos básicos de programación, fundamentos de programación pseint.
Conceptos básicos de programación, fundamentos de programación pseint.Conceptos básicos de programación, fundamentos de programación pseint.
Conceptos básicos de programación, fundamentos de programación pseint.
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeInt
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
 
Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigo
 
Formato caso de_uso_y_diagrama_de_secuencia
Formato caso de_uso_y_diagrama_de_secuenciaFormato caso de_uso_y_diagrama_de_secuencia
Formato caso de_uso_y_diagrama_de_secuencia
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
 
Guía interfaz inicial
Guía  interfaz  inicialGuía  interfaz  inicial
Guía interfaz inicial
 

Similar a Guías de laboratorio Shell ESTA

Similar a Guías de laboratorio Shell ESTA (20)

Computación 2
Computación 2Computación 2
Computación 2
 
Computación 2 c++
Computación 2 c++Computación 2 c++
Computación 2 c++
 
Computación sb
Computación sbComputación sb
Computación sb
 
Computacion sb
Computacion sbComputacion sb
Computacion sb
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
 
Estructuras repetitivas-dayana-y-ana
Estructuras repetitivas-dayana-y-anaEstructuras repetitivas-dayana-y-ana
Estructuras repetitivas-dayana-y-ana
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
 
Computación i 4001
Computación i 4001Computación i 4001
Computación i 4001
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Hack x crack_sq_linjection
Hack x crack_sq_linjectionHack x crack_sq_linjection
Hack x crack_sq_linjection
 
Algoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguajeAlgoritmo utilizando pseudolenguaje
Algoritmo utilizando pseudolenguaje
 
Vivi Reinoso
Vivi ReinosoVivi Reinoso
Vivi Reinoso
 
Computación 2 c++
Computación 2 c++Computación 2 c++
Computación 2 c++
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Computación 1 y 3
Computación 1 y 3Computación 1 y 3
Computación 1 y 3
 
Computación i 4001
Computación i 4001Computación i 4001
Computación i 4001
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 

Más de Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

Más de Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Último

Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 

Último (20)

Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 

Guías de laboratorio Shell ESTA

  • 1. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. Asignatura: Inteligencia Artificial. Guía de laboratorio para desarrollar sistemas expertos usando E. S. T. A. Elaborado por: Ing. Ariel Chávez Toruño. Introducción. Un sistema experto es un sistema computacional que imita la conducta de un experto humano en algún área específica. La idea detrás 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 más difíciles. Proporcionándole 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 parámetros como variables para determinar el flujo de mando entre las secciones. Cualquier parámetro consiste en un campo de la declaración y un campo del tipo. Más allá pueden usarse varios campos optativos, dependiendo del tipo del parámetro, para describir el parámetro. Un parámetro puede ser uno de lo siguiente cuatro tipos: boolean parameter text parameter number parameter category parameter Cualquier parámetro puede obtener un valor en uno de las maneras siguientes: Por una respuesta a una pregunta. Como resultado de seguir algunas reglas. Una asignación que resulta de un asigne acción. Sintaxis básica de ESTA. parameter name 'El nombre del usuario' type text question '¿Cómo te llamas?' parameter pc_colour 'El color favorite del usuario' type category options red, blue, green. question '¿Cuál de los siguientes colores prefieres?' picture 'colour_screen_picture'
  • 2. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. parameter colour 'Unas palabras que describen el color' type text explanation 'Los humanos normalemte usan los nombres de los colores para describer la frecuencia específica de la onda de luz correspondiente. Este parámetro representa colores como el rojo, azul, etc' rules 'blue' if frequency < 1000, 'red' if frequency > 2000 and frequency < 3000, 'invisible'. Luego la acción del consejo es ejecutada por un Advice estableciendo los valores de todos los parámetros involucrados en la expresión 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 asignación se realize mediante los valores de los parámetros, de la siguiente manera: <assign> ::= assign <parameter-name> := <expression> El siguiente ejemplo ilustra la asignación. section start 'Una sección muy corta para ilustrar la asignación' assign n := 7 + 8 / 2 advice 'la evaluación de 7 + 8 / 2 resulta en ' n assign n := (7 + 8) / 2 advice 'la evaluación de (7 + 8) / 2 resulta en ' n 'porque / tiene mayor prioridad que +.' & 'Observer que el parámetro 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> Además pueden transferirse valores de parámetros 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 sección, conocido esto como encadenamiento hacia delante. Su sintaxis es: section start 'primera sección a ejecutarse'
  • 3. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. 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 parámetro de la categoría tipo; y la acción correspondiente es una alternativa a las frases a menudo usadas en declaraciones de la sección: if <category parameter name> = <option1> do <option1> if <category parameter name> = <option2> do <option2> En lugar de listar todos los si-declaración que corresponden a las posibles opciones, puede escribir simplemente: do_section_of <el nombre de parámetro de categoría> En una sesión de la consultación el valor del parámetro determinará a que sección se transferirá el control. Si el parámetro tiene no consiguió un valor, ESTA evalúa el parámetro primero y el valor obtenido es una referencia a la sección correspondiente. La funcionalidad del do_section_of y el do_action es exactamente el mismo. La diferencia es que usted no tiene que escribir todas las frases iguales con los hacer- declaración, pero en cambio sólo una frase. Recuerde que que la opción nombra del parámetro de la categoría debe corresponder a los nombres de la sección en la base de conocimiento. Ejemplo section start 'sección principal' do_section_of problem parameter problem : 'el problema con su carro' type category explanation 'Identifique el problema con su carro.' options starting_problems - 'Problema de arranque' overheating - 'Motor sobrecalentado' smell_of_gasoline - 'Olor a gasolina' bad_running - 'El motor funciona mal' brakes - 'Las llaves' vibration - 'Vibración excesiva' wiper_motor - 'ruido del motor' light_problem - 'las luces' horn_problem - 'calentamiento'. question '¿Cuál es el problema con su carro ' car ' ?' picture 'car' La function <exit> ::= exit simplemente termina la consulta a la actual base de conocimientos. En cambio <stop> ::= stop realiza una parada para que no se realicen más acciones o ejecuten expresiones sobre la BC. section start1 'seccion start sin stop'
  • 4. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. 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 acción 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 aplicación experto y poder ayudar al usuario a resolver su problema o necesidad. Esto se desarrollará usando la aplicación ESTA (Expert Shell System for Text Animation.) 1. Al ejecutar la aplicación ESTA aparece el mensaje de la figura, si se está trabajando con la versión 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 continuación.
  • 5. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. 3. Como se mencionó anteriormente, las bases de conocimiento (BC) de ESTA (*.kb) trabajan mediante árboles de búsquedas donde sus nodos se llaman secciones y éstos se comunican entre ellos, mediante parámetros. Como práctica se creará el siguiente árbol de sistema experto. 4. La primera sección (nodo inicial) debe llamarse Star, y se crea así: 5. A continuación debe crearse el parámetro inicial del problema, tipo categoría; es decir opción múltiple. Y modifique el parámetro de acuerdo con el siguiente código. Después se guarda el parámetro pulsando Sí, sobre la ventana de “Update problema before closing”. Si desea modificar el parámetro creado puede escogerse Parámetros Editar Parámetros, y seleccionarlo de la lista. 6. Para verificar el progreso de la base de conocimiento puede hacerse clic en Consultar Iniciar.
  • 6. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. Observe que la sección start incluye en la pregunta Nombre; el cual es un parámetro tipo texto. Y debe contener lo siguiente. 7. Al volver a la sección Star creada inicialmente (Sección Editar Sección), debe escribirse lo siguiente: 8. Al definir por cada opción la sección a ejecutar (do), automáticamente se crea la sección así nombrada (crear_libro, crear_pag, crear_bg.) Lo que puede observarse desde : parameter problema : 'Problema a resolver con ToolBook Instructor II' type category explanation 'Identificar en cual categoría se encuentra la situación a resolver a nivel de autor.' options libro - 'Crear un libro electrónico', pagina - 'Crear o modificar página(s) en un libro existente', fondo - 'Agregar o modificar un fondo de página'. /* rules field */ question '' Nombre ' ¿Qué es lo que desea realizar? ' picture ' ' section start : 'Sección principal del programa ' if problema = 'libro' do crear_libro if problema = 'pagina' do crear_pag if problema = 'fondo' do crear_bg parameter Nombre : ' ' type text explanation ' ' /* rules field */ question '¿Cuál es su nombre? ' picture ' '
  • 7. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. 9. Posteriormente deberá crearse cada una de la secciones del árbol, lo cual puede hacerse pulsando doble clic desde el árbol. 10. La siguiente sección a crear (crear_libro), mostrará en pantalla un mensaje., usando advice indicando los pasos a seguir por el usuario. 11. La sección crear_fondo se define mediante un parámetro fondo tipo boolean, de la siguiente manera: 12. La sección crear_fondo deberá evaluar si el usuario responde Si / No a la pregunta del parámetro. Asignación: 1. Realice las actividades anteriores. 2. Completar los comentarios de las secciones y parámetros anteriores. 3. Crear la sección crear_pag, la cual debe preguntar al usuario, para que él elija las opciones de crear una nueva página, usar una existente, o aplicar una plantilla de diseño. 4. Por cada una de estas opciones deberá existir otra sección 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 guía. d. Usando parámetros tipo: i. Boleanos. ii. Categoría. iii. Texto. section crear_libro : 'Indica al usuario como crear un libro electrónico ' advice '' Nombre ' Los libros que crea Instructor pueden ser desde plantillas prediseñadas, libros DHTML, hasta evaluaciones diversas; y se trabajará con Blank Native ToolBook Book.' parameter fondo : ' ' type boolean explanation ' ' /* rules field */ question '¿El libro electrónico ya tiene un fondo de página? ' picture ' ' section crear_bg : ' ' if (fondo) do elige_bg if not(fondo) advice ''Nombre 'Pulse la función F4 para trabajar en el fondo de la aplicación como si fuera una página más del libro, y regrese a la página pulsando nuevamente F4 cuando haya terminado '
  • 8. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. Asignatura: Inteligencia Artificial. Guía de laboratorio 6 para desarrollar sistemas expertos usando E. S. T. A. Elaborado por: Ing. Ariel Chávez Toruño. Introducción. Cuando se trabaja con ESTA, también existe la posibilidad de incluir el uso de interfaz gráfica, así como el uso de imágenes como zonas sensibles que se combinan con los parámetros definidos de las secciones en la base de conocimientos. Además puede evaluarse múltiples parámetros, de manera que pueda realizarse una acción (llamar una sección) dependiendo si más de uno de ellos es verdadero, falso, o tiene un valor específico. Objetivos. Complementar la elaboración de un Shell experto, maximizando la herramienta ESTA para la creación y uso de la base de conocimiento. Procedimientos Inicialmente complementaremos el árbol anteriormente creado, agregando la opción programar en el parámetro problema de la sección start (inicial). 1. Editar el parámetro problema, agregando la siguiente línea de código y observando que la última opción debe terminar en (.). 2. Insertar la siguiente condición en la sección start: if problema = 'programar' do sprogramar 3. La sección sprogramar debe preguntar independientemente si se desea programar en OpenScript o con el Editor de Acciones, validando que ambas no pueden usarse a la vez. Para lo cual se definirán dos parámetros: openscript y accionedit como tipo boléanos. fondo - 'Agregar o modificar un fondo de página', programar - 'Programar usando ToolBook Instructor II'. section sprogramar : ' ' if (openscript) and (accionedit) advice 'No es posible' if (openscript) do sopenscript if (accionedit) do saccionedit if not(openscript) do saccionedit if not (accionedit) do sopenscript section sopenscript : ' ' if (openscript) advice 'OpenScript permite iniciar, mostrar, detener, etc; las animaciones por trayectoria enviando mensajes a la aplicación para indicar movimiento a través de la trayectoria o por pasos a través de la misma, por medio de los mensajes' parameter openscript : ' ' type boolean explanation ' ' /* rules field */ question '¿Desea programar usando OpenScript para ToolBook?' picture ' '
  • 9. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. 4. Otra opción es diseñar una pantalla de bienvenida que incluya una imagen alusiva al tema del sistema experto. Lo cual se elige desde el menú Imágenes BD de imágenes, y en la ventana emergente se pulsa sobre el botón Importar… con la salvedad que solo pueden agregarse imágenes en formato BMP y WMF, y se guarda dicha imagen con un nombre en la base de datos de imágenes. 5. Importada la imagen, se elige Título Nuevo título y se escribe *<nombreimagen>*. Únicamente puede existir un título, por tanto al crear uno nuevo se remplazará el existente en caso que este exista. 6. También pueden definirse zonas sensibles asociadas a parámetros tipo categoría, lo que permite al usuario utilizarlas en vez de elegir el texto de la opción. Esto se realiza de la siguiente manera: 6.1. Se importa una nueva imagen desde Imágenes BD imágenes Importar… section saccionedit : ' ' if (accionedit) advice 'Es la herramienta de programación visual que permite crear o editar una serie de comportamientos llamados secuencias de accciones. Éste incluye menús y barras de herramientas de protocolos estándares y permiten responder a eventos, reproducir multimedia, mostrar cuadros de entrada, modificar la apariencia y comportamiento de objetos, controlar la navegación, crear variables y ciclos, etc' parameter accionedit : ' ' type boolean explanation ' ' /* rules field */ question '¿Desea utilizar el asistente para editar acciones?' picture ' '
  • 10. Inteligencia Artificial. Universidad Nacional de Ingeniería. Facultad de Ciencias y Sistemas. 6.2. Se guarda con un nombre. Si por accidente importó una imagen incorrecta y pulsa el botón Eliminar, la imagen se borrará de la base de imágenes y también se borrará de su ubicación original. 6.3. La imagen importada se selecciona y se pulsa la pestaña Hotspot para definir las zonas sensibles y los parámetros correspondientes. 6.4. Se elige el parámetro, en este caso problema, por que es el parámetro inicial de start; y la opción correspondiente para el mismo. 6.5. Se activa la opción del atributo visible / invisible y se dibuja un rectángulo sobre la imagen. Se repiten los pasos 6.4 y 6.5 por cada valor del parámetro; y luego se pulsa aceptar. 6.6. Para reflejar los cambios, debe modificarse el parámetro problema, y escribir picture 'menuesta'. 6.7. Al reiniciar la consulta se observan los cambios realizados. Actividades. 1. Realizar las actividades de esta guía. 2. Aplicar los nuevos conocimientos en su propio árbol de problema creado en el laboratorio anterior.