domingo, 21 de abril de 2013

VP Expert.
Es un sistema de apoyo a la decisión basado en la inteligencia artificial.  
Este cuenta con:   
  •  Un motor de inferencia para las consultas de la base del conocimiento en orden para responder las preguntas. 
  •  Un Editor crear escribir las reglas de la base del conocimiento. 
  •  Una interfaz de usuario para realizar el manejo de las preguntas al usuario y presentar rutas y explicaciones donde se necesitan, esto limitado gráficamente.
Corriendo VP Expert.
VP Expert corre en la plataforma de DOS para poder correrlo los archivos a abrir para trabajar con él son los de tipo VPX.
Menu de VP Expert.
Opciones del menú que pueden ser seleccionadas usando las flechas direccionales entré ellas se encuentran las siguientes opciones:
  • Edit: Construye un editor para crear y modificar la base del conocimiento. 
  • Consult: Ejecuta el sistema experto que se esté usando. 
  • Filename: Selecciona otra base del conocimiento (del directorio actual) para editar o consultar. 
  • Path: cambia la unidad  actual o directorio desde la cual la base del conocimiento esta seleccionada. 
  • Quit: Sale del VP Expert.
Extra: 
  • La tecla ESC se puede usar siempre para ir un paso hacia atrás es decir un “undo” . Una consulta puede hacer UNDO con CRTL+C. 
  • Si no tenemos un archivo pre seleccionado tanto en Edit y Consult se nos pedirá un nombre al archivo, el usuario puede elegir un nombre o elegirlo de una lista. Para Editar el nombre de un archivo puede ser uno nuevo o si es nuevo se creara.

Corriendo una consulta.
El proceso del uso del VP Expert para resolver un problema específico, basado en las reglas de la base del conocimiento, esta parte se le llama "consulta"
En esta parte el usuario no hace las preguntas directamente, si no es el sistema quien se encarga de hacer las preguntas y el usuario solo se remite a responderlas.
Al iniciar las consultas dentro del VP Expert se encuentran una pantalla con 3 ventanas:
  • Una es la ventana de interacción en esta ventana es donde el usuario pone la información y aquí mismo se muestran los resultados.  
  • Ventana superior izquierda, aquí se muestran las reglas que usadas en la consulta.  
  • Ventana superior derecha , aquí se muestran los valores que se le asignan variables
Extra:
  • Las ventanas inferiores se usan para hacer depuración de la base del conocimiento que se pueden deshabilitar cuando ya no se necesiten.
Insertando datos a una consulta.
Con el fin de responder a una pregunta, VP-Expert utiliza encadenamiento hacia atrás para trabajar a partir de un objetivo a preguntas.
  • Cuando la respuesta a una pregunta que se necesita, la pregunta se presenta al usuario, eventualmente junto con un menú de posibles respuestas. 
  • Seleccionar una respuesta de un menú de valores, use las teclas de flecha para resaltar su selección y luego presione Enter. 
  • Para eliminar un dato seleccionado, resalte el dato  elegido y pulse Supr. 
  • Se finalizan las selecciones presionando Enter. 
  • En caso de que sean números los que se soliciten presionar el número y dar Enter.
Explicaciones de extracción para una Consulta.
VP-Expert también le permite ver las explicaciones de cómo se creó una variable, o por qué se hizo una pregunta.
Esto se puede hacer cuando el programa se ejecuta pulsando la tecla / (que detiene la ejecución temporalmente) y luego seleccionar la opción deseada en el menú.
Si se selecciona la forma, VP-Expert entonces proporcionará un menú de las variables utilizadas en el programa.
Realizar un seguimiento de la Consulta.
Esto puede permitir a examinar en detalle el proceso de razonamiento del sistema, y es particularmente útil para la depuración. A esto se le llama seguimiento o huella.
          Como realizar un seguimiento:
  • Elija Set y TRACE en el menú Consulta. 
  • Vuelva al menú Consulta, y ejecutar la consulta como lo haría normalmente. 
  • Un registro de las normas consultadas y hechos encontrados durante la consulta, queden almacenados en algún archivo FILENAME.TRC, donde filename es el nombre de la base de conocimientos está consultando.
Creando una base del conocimiento en VP Expert
Estructura básica de la base del conocimiento
Para poder crear un sistema experto basado en el conocimiento es importante considerar 3 partes:
  • Acciones.
  • Reglas.
  • Instrucciones de consulta.
El objetivo principal del motor de inferencia es por lo general para encontrar un valor para alguna meta o resultado a esperar es decir una  variable (s), para que busque por reglas que asignan un valor a esa variable como parte de su consecuente.
Se recomienda mucho como en cualquier tipo de programación hacer comentarios del código para que así nos sea más fácil explicar las reglas usadas.
Los Bloques de Acciones.
Aquí se encuentran las sentencias que controlan las acciones del Shell, es el cómo se irán ejecutando las acciones así como el orden en el cual aparecerán es quien controlara el motor de inferencia es decir los displays donde se de la interacción con el usuario y se comienza a usar el motor del VP EXpert.
  • Las palabras se declaran así “acción” y termina con un punto y coma (sin punto y coma entre estados). 
  • La declaración "Find" es la meta del sistema es decir lo que busca el motor para poder hacer su inferencia del resultado a la cuestión y/o petición
La búsqueda de una declaración.
  1. Las declaraciones activan el motor de inferencia, haciendo que se consulte a la base de conocimiento de reglas hasta que encuentra un valor para la variable. 
  2. Busca la primera regla que daría a la variable un valor (como parte de la parte THEN de la regla), y luego intenta encontrar los valores de las variables en la parte SI de la regla. 
  3. Se detendrá cuando un valor se encuentra en la variable. 
  4. Si no se encuentran reglas que contienen la variable en su parte ENTONCES, el shell le pide al usuario en lugar de su valor. 
  5. Si existen reglas que contienen la variable en su parte ENTONCES, pero ninguno de ellos puede ser probado, a continuación, la variable se considera que tiene valor desconocido.
La declaración de un Display.
DISPLAY "Este es un texto que se mostrará para el usuario - tal vez para dar instrucciones sobre cómo utilizar el sistema".
  • Cualquier texto que queramos sea mostrado en pantalla debe encerrarse en comilla doble (“”). 
Si queremos asegurarnos que el usuario está recibiendo el mensaje hagamos lo siguiente: 
  • Introduzca un "~" como el último carácter del mensaje. Esto suspende todo el proceso hasta que el usuario presiona una tecla en el teclado.
  • El "~" en sí no se muestra.
Como ejemplo:
DISPLAY "Aquí están algunas instrucciones. Presione cualquier tecla para continuar ~"
También se puede usar comandos de visualización en la parte THEN o ELSE de una regla. Esto puede ser particularmente útil para proporcionar explicaciones, o para visualizar la información sólo si una cierta condición se mantiene.
Creación de ventanas en VP Expert.
También pueden crearse ventanas las cuales son demasiado útiles para la presentación de información, como lo pueden ser instrucciones, detalles, etc.
Ejemplo de creacion de Ventana:
WOPEN:



WOPEN ventana #, # TopRow, LeftCol #, # ofrows, # ofcols, color #

Donde

window # un número (entre 1 y 8) solía contar VP-Expert su  ventana actual

TopRow #, # LeftCol la Y y X respectivamente las coordenadas de la esquina superior izquierda de la ventana

# ofrows el número de filas en la ventana (entre 2 y 20)

# ofcols el número de columnas de la ventana (entre 2 y 77)

color # el color de fondo de la ventana
  • Dado que puede haber varias ventanas abiertas al mismo tiempo, podemos decir VP-Expert, que es el "activo" uno (es decir, en el cual será impreso) con el comando: 
  • Ventana activa #

Ejemplo:
WOPEN 1, 1, 1, 4, 50, 2
se abre una ventana en la esquina superior izquierda de la pantalla, que es 4 filas por 50 columnas y tiene un fondo verde, y  ACTIVO 1 indica a VP-Expert que ahora es la ventana activa.
Una ventana también se pueden borrar con el comando:
WCLOSE window #
Tyr_LG