La Máquina De Desarrollo
El
cuarto componente principal del sistema experto es la maquina de
desarrollo, que sirve para crear el sistema experto. Cuando la
máquina de inferencias consiste en reglas, este proceso implica
construir el conjunto de reglas. Hay dos estrategias básicas:
lenguajes de programación y Shells de sistemas expertos.
Es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML.
Según su forma de ejecución se pueden encontrar de las siguientes maneras:
Lenguajes Compilados
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Al usar un lenguaje compilado (Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar.
Luego, un programa interpreta lo almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
Luego, un programa interpreta lo almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
B) Shells de sistemas expertos
Uno
de los primeros sistemas expertos fue Mycin, creado por Eduard
Shordiffe en la universidad de Stanford. Mycin se creo para
diagnosticar enfermedades infecciosas. Una vez establecido el éxito
de Mycin, sus creadores buscaron otras formas de aplicar sus logros.
Ellos descubrieron que la maquina de inferencias de Mycin podía
adaptarse a otro tipo de problemas sustituyendo la base de
conocimiento de Mycin por una que reflejara el dominio de otro
problema. Este hallazgo marco el nacimiento de un nuevo enfoque en la
construcción de sistemas expertos: el shell de sistemas expertos. Un
shell de sistema experto es un procesador ya hecho que se puede
adaptar a un dominio de problema específico mediante la adición de
la base del conocimiento apropiada. Hoy día, casi todos los
proyectos de aplicación de sistemas de expertos a problemas de
negocios implican el uso de Shells.
C) El papel del analista de sistemas
En
una organización de negocios, lo más probable es que ingeniero del
conocimiento sea el analista de sistemas. Además de las habilidades
requeridas para crear aplicaciones convencionales de computadora, el
analista debe:
1-
Entender la forma en que los expertos aplican sus propios
conocimientos a la resolución de problemas.
2-
Poder extraer del experto una descripción de esos conocimientos. El
proceso de extraer los conocimientos se ha denominado adquisición
del conocimiento, y se han ideado varias estrategias distintas. En
realidad, estas dos habilidades son apropiadas para el diseño de
cualquier tipo de subsistemas CBIS.
D) El proceso de creación del sistema
Ya
tratamos el proceso de creación de sistemas en el capitulo 8 cuando
explicamos el ciclo de vida de los sistemas. Vimos como los
especialistas en información trabajan junto con el gerente para
desarrollar el sistema. El proceso de crear un sistema experto vacía
respecto a ese patrón porque intervienen un tercer protagonista: el
experto.
En
la la figura 16.10 se muestra la forma en que el analista de
sistemas trabaja con el experto , primero para iniciar el proceso de
desarrollo y crear un prototipo del sistema experto y luego para
lograr la participación del usuario.