Vous êtes sur la page 1sur 24

UNIVERSIDAD NACIONAL

PEDRO RUIZ GALLO


FACULTAD DE CIENCIAS FSICAS Y MATEMTICAS

Escuela Profesional de
Ingeniera en Computacin e Informtica

INTELIGENCIA ARTIFICIAL
COACHING
DOCENTE

Lic. Adm. Gerardo Gaspar Deza Malca

INTEGRANTES:

Sergio Flores Serquen


Alex Daz Sipin
Junior Secln Len

Lambayeque Per
2011

SISTEMAS EXPERTOS
HISTORIA DE LOS SISTEMAS EXPERTOS.
Los Sistemas Expertos proceden inicialmente de finales de los aos 50. Hacia
1957, un programa denominado GPS ("General Problem Solver" o Solucionador
General de Problemas) fue llevado a cabo por los investigadores Alan Newell y
Herbert Simon. Este
programa poda trabajar con criptografa utilizando
matemticas, tambin con las torres de Hanoi y otros problemas similares a
ste. Era un buen sistema pero no poda resolver problemas del mundo real.
Fue un buen comienzo. Con este intento otros investigadores se dieron cuenta
que para poder tener ms xito construyendo este tipo de sistemas deban
restringir el dominio de estudio a uno ms pequeo. De esta manera se les
hara ms fcil simular parte del pensamiento humano para la resolucin de
problemas. De estas ideas nacen los Sistemas Expertos.
Ms tarde, hacia 1965, Edward Feigenbaum junto a un grupo de investigadores
comenz a desarrollar Sistemas Expertos utilizando bases de conocimientos. Ya
en
1967, construyeron lo que se conoce como el primero de ellos: DENDRAL. El
nombre del mismo viene del
griego y significa "rbol". ste era utilizado
para identificar estructuras qumicas moleculares a partir de su anlisis
espectrogrfico. En los 70's, especficamente en 1972, se comenz el desarrollo
del sistema MYCIN. ste era utilizado para hacer consultas y
diagnsticos
de infecciones en la sangre. Basndose en anlisis de sangre, cultivos de
bacterias y otros datos, el sistema poda determinar o, por lo menos, sugerir
qu organismo o microbio estaba causando la infeccin. El mismo llegaba a una
conclusin y sugera un tratamiento el cual era basado en las caractersticas
de la persona, i.e. Peso corporal del individuo. Para esta misma poca tambin
se desarrollaron otros sistemas como HERSAY (que fue creado para
reconocimiento de palabras habladas) y PROSPECTOR (que fue utilizado para
hallar yacimientos de minerales).
En los 80 los Sistemas Expertos (S.E.) obtuvieron un gran auge. Al igual que
todo lo que se pone de moda, los S.E. no fueron la excepcin y numerosas
empresas comenzaron a dedicar tiempo, dinero y esfuerzo para el desarrollo de
S.E. En este punto se lleg a la conclusin de que el xito de los sistemas
expertos depende de la base de conocimientos que se est utilizando. Entre
todas las empresas gastaron aproximadamente unos mil millones de dlares en
investigacin y desarrollo de estos sistemas. Uno de estos sistemas fue DELTA,
"Diesel Electric Locomotive Troubleshooting Aid". ste fue un sistema producido
por General Electric para la reparacin de locomotoras. Adems de Sistemas
Expertos, tambin se desarrollaron herramientas para trabajar con los mismos.
Estas herramientas son programas que contienen los componentes bsicos de
un Sistema
Experto, como lo son: el Subsistema de Adquisicin de
Conocimientos, la Base de Conocimientos, el Mecanismo de Inferencia, el
Subsistema de Explicacin y el Interface de Usuario. Adems de stas tambin

se han desarrollado otras herramientas, como por ejemplo CLIPS, "C Language
Integrated Production System". Este programa fue creado en 1985 por NASA
para satisfacer sus necesidades dentro del campo de la inteligencia artificial.
DEFINICIN SISTEMA EXPERTO (SE)
Es una aplicacin informtica capaz de solucionar un conjunto de problemas que
exigen un gran conocimiento sobre un determinado tema. Un sistema experto es
un conjunto de programas que, sobre una base de conocimientos, posee
informacin de uno o ms expertos en un rea especfica. Se puede entender
como una rama de la inteligencia artificial, donde el poder de resolucin de un
problema en un programa de computadora viene del conocimiento de un dominio
especfico. Estos sistemas imitan las actividades de un humano para resolver
problemas de distinta ndole (no necesariamente tiene que ser de inteligencia
artificial). Tambin se dice que un Sistema Experto se basa en el conocimiento
declarativo (hechos sobre objetos, situaciones) y el conocimiento de control
(informacin sobre el seguimiento de una accin).
Para que un sistema experto sea herramienta efectiva, los usuarios deben
interactuar de una forma fcil, reuniendo dos capacidades para poder cumplirlo:
1.
Explicar sus razonamientos o base del conocimiento: los sistemas
expertos se deben realizar siguiendo ciertas reglas o pasos comprensibles de
manera que se pueda generar la explicacin para cada una de estas reglas,
que a la vez se basan en hechos.
2.
Adquisicin de nuevos conocimientos o integrador del sistema: son
mecanismos de razonamiento que sirven para modificar los conocimientos
anteriores. Sobre la base de lo anterior se puede decir que los sistemas
expertos son el producto de investigaciones en el campo de la inteligencia
artificial ya que sta no intenta sustituir a los expertos humanos, sino que se
desea ayudarlos a realizar con ms rapidez y eficacia todas las tareas que
realiza.
Debido a esto en la actualidad se estn mezclando diferentes tcnicas o
aplicaciones aprovechando las ventajas que cada una de estas ofrece para poder
tener empresas ms seguras. Un ejemplo de estas tcnicas sera los agentes que
tienen la capacidad de negociar y navegar a travs de recursos en lnea; y es por
eso que en la actualidad juega un papel preponderante en los sistemas expertos.
TIPOS DE SE
Principalmente existen tres tipos de sistemas expertos:
Basados en reglas previamente establecidas.

Basados en casos o CBR (Case Based Reasoning).


Basados en redes bayesianas.

En cada uno de ellos, la solucin a un problema planteado se obtiene:


Aplicando reglas heursticas apoyadas generalmente en lgica difusa para su
evaluacin y aplicacin.
Aplicando el razonamiento basado en casos, donde la solucin a un problema
similar planteado con anterioridad se adapta al nuevo problema.
Aplicando redes bayesianas, basadas en estadstica y el teorema de Bayes.
CARACTERSTICAS ESENCIALES DE LOS SE.
Un sistema experto suele disearse para que tenga las siguientes caractersticas
generales:

Alto desempeo. El sistema debe tener la capacidad de responder a un nivel de


competencia igual o superior al de un especialista en el campo. Esto significa
que la calidad del consejo dado por el sistema debe ser muy alta.

Tiempo de respuesta adecuado. El sistema debe actuar en un tiempo


razonable, comparable o mejor al tiempo requerido por un especialista para
alcanzar una decisin.

Confiabilidad. El sistema experto debe ser confiable y no propenso a fallos.

Comprensible. El sistema debe ser capaz de explicar los pasos de su


razonamiento. Este rasgo es muy importante debido a que en determinados
momentos se puede depender de manera directa de la decisin tomada por el
sistema. Adems es una manera de asegurarse en la fase de desarrollo de que
el sistema ha adquirido el conocimiento y lo est usando de manera correcta.

Flexibilidad. Debido a la gran cantidad de conocimiento que puede albergar un


SE es importante contar con un mecanismo eficiente para aadir,
modificar y eliminar el conocimiento.

Representacin explcita del conocimiento.

VENTAJAS Y LIMITACIONES DE LOS SISTEMAS EXPERTOS


Ventajas
Permanencia: A diferencia de un experto humano un SE (sistema experto) no
envejece, y por tanto no sufre prdida de facultades con el paso del tiempo.

Duplicacin: Una vez programado un SE lo podemos duplicar infinidad de


veces.
Rapidez: Un SE puede obtener informacin de una base de datos y realizar
clculos numricos mucho ms rpido que cualquier ser humano.
Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la
capacidad de duplicacin el coste finalmente es bajo.
Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dainos
para el ser humano.
Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano
s (cansancio, presin, etc.).
Consolidar varios conocimientos.
Apoyo Acadmico.

Limitaciones

No siempre se encuentra disponible el conocimiento que se va a captar

Resulta difcil extraer la experiencia de los seres humanos

El enfoque de cada experto ante un situacin tal vez es diferente, aunque


correcto.

Es difcil, incluso para un experto altamente capacitado, valorar con


exactitud, las situaciones para bajo presiones de tiempo.

Los usuarios de sistemas expertos tiene lmites, cognoscitivos naturas, por lo


que tal vez no aprovechen al mximo los beneficios del sistemas

Los sistemas expertos trabajan solo con reas temticas, definidas


perfectamente, por el diagnostico de una falla, en una maquina

La mayora de los expertos no tiene medios independientes de verificar si


sus conclusiones son razonables o correctas

El vocabulario, o jerga, que utiliza los expertos para expresar hechos y


relaciones, con frecuencia es limitado y no comprendido por otros.

En la construccin de los sistemas expertos, a menudo se requiere la ayuda


de ingenieros de conocimientos, los cuales escasean, adems de que sus
servicios resultan caros

La falta de confianza de los usuarios finales, tal vez sea una barrera para el
uso de los sistemas expertos.

La trasferencia de conocimiento se sujeta a prejuicios de percepcin y de


criterio.

La responsabilidad por una mala asesora proporcionada por un sistema


experto resulta difcil de evaluar.

UN SISTEMA EXPERTO UTILIZA TCNICAS DE LA INTELIGENCIA ARTIFICIAL?


Los Sistemas Expertos son uno de los puntos que componen las investigaciones en
el campo de la lA. Un sistema de ordenadores que trabaje con tcnicas de lA
deber estar en situacin de combinar informacin de forma inteligente, alcanzar
conclusiones y justificarlas (al igual que el resultado final). Los Sistemas Expertos
son una expresin de los sistemas basados en el conocimiento. Con la aplicacin de
tcnicas de Inteligencia Artificial finaliza la transicin del procesamiento de datos al
procesamiento de conocimientos.
Los sistemas expertos se aplican por norma general en problemas que implican
un procedimiento basado en el conocimiento. Pues bien, diris que es eso?. Os
explico: Un procedimiento de solucin basado en el conocimiento comprende
las siguientes capacidades:

Utilizacin de normas o estructuras que contengan conocimientos y


experiencias de expertos especializados.

Deduccin lgica de conclusiones.

Capaz de interpretar datos ambiguos.

Manipulacin de conocimientos afectados pro valores de probabilidad.

FUNCIN DE UN SISTEMA EXPERTO


La funcin de un Sistema Experto es la de aportar soluciones a problemas ,
como si de humanos se tratara, es decir capaz de mostrar soluciones
inteligentes. Y os preguntareis Como es posible? .Es posible gracias a que al
sistema lo crean con expertos (humanos), que intentan estructurar y formalizar
conocimientos ponindolos a disposicin del sistema, para que este pueda
resolver una funcin dentro del mbito del problema, de igual forma que lo
hubiera hecho un experto.
Acceder a los conocimientos adquiridos por experiencia es lo ms difcil, ya que
los expertos, al igual que otras personas, apenas los reconocen como tales. Son
buscados con mucho esfuerzo y cuidado siendo descubiertos de uno en uno,
poco a poco.

BENEFICIOS DE LOS SISTEMAS EXPERTOS


Produccin y productividad mayores. Los sistemas expertos pueden trabajar
ms rpido que lo humanos. Por ejemplo, un sistema llamado XCON le ha
permitido a Digital Equipment Corporation (DEC) incrementar cuatro veces la
produccin de la preparacin de microcomputadoras adaptadas a las
necesitas de los clientes. El sistema planea la configuracin de los
componentes para cada pedido adaptado de microcomputadoras y es un
ejemplo de la adaptacin masiva.
Mayor calidad: Los sistemas expertos dan la probabilidad de aumentar la
calidad proporcionando asesora consistente y reduciendo las tasas de error.
Por ejemplo, XCON reduce la tasa de error de la configuracin de pedidos de
computadoras en DEC de un 35% a un 2%.
Captacin de experiencia escasa y su dimensin. Uno de los principales
beneficios de los sistemas expertos es su facilidad de trasmitir experiencia a
travs de fronteras internacionales. Un ejemplo de lo anterior es un sistema
experto de cuidado de los ojos para diagnostico y tratamiento recomendado,
que se cre en Rutgers University. El programa se ha puesto en prctica en
Egipto y en Argelia, donde prevalecen serias enfermedades de los ojos y son
escasos los oftalmlogos. El programa puede operarlo un medico asistente o
una enfermera.
Operacin en entornos peligrosos. Muchas tareas requieren que los seres
humanos operen en entornos peligrosos. Los sistemas expertos que
interpretan la informacin recabada por sensores, posibilita a los seres
humanos evitar entornos calientes, hmedos, txicos, como por ejemplo una
central nucleoelctrica en mal funcionamiento.
Accesibilidad al conocimiento y escritorios de vida. Los sistemas expertos
hacen accesible el conocimiento (y la informacin) a mucha gente en
diversos lugares. La gente puede preguntar a los sistemas y obtener
consejos. Un rea de aplicacin corresponde al apoyo a escritorios de ayuda.
Ms de 30 millones de empleados trabajan en escritorios de ayuda en los
estados unidos proporcionando informacin a los consumidores que acuden a
ellos o que llaman por telfono. Por ejemplo, el Internal Revanue Service
proporciona ayuda a los contribuyentes, una biblioteca ofrece asistencia a los
estudiantes, una recepcionista en una oficina a auxiliar a los visitantes. Un
sistema experto puede aumentar la productividad de los empleados o incluso
automatizar stos.
Confiabilidad.los sistemas expertos son confiables. No se cansan ni se
aburren, no llaman para reportarse enfermos ni se declaran en huelga,

adems prestan atencin de manare consistente a todos los detalles y no


pasan por alto informacin pertinente y soluciones potenciales.
Funciones incrementadas de otros sistemas expertos. La integracin de un
sistema experto con otros sistemas expertos hacen que estos ltimos se
vuelvan ms eficientes, los sistemas integrados abarcan ms aplicaciones,
trabajan ms rpido y producen resultados de mayor calidad.
Capacidad para trabajar con informacin incompleta o inconcreta. En
contraste con los sistemas de cmputo convencionales, un sistema experto
puede trabajar con informacin incompleta al igual que los expertos
humanos. El usuario puede responder con un no s o no estoy seguro a
una o ms preguntas del sistema durante la consulta y el sistema experto
segura siendo capaz de producir una respuesta, aunque tal vez no sea la
correcta.
Imparticin de capacitacin. Es factible que un sistema experto facilite la
capacitacin. El personal nuevo que trabaja con un sistema experto se vuelve
ms experimentado. La fusin de explicacin puede servir como un
dispositivo de de enseanza y de ese modo puede efectuar apuntes que tal
vez se inserten en la base de conocimiento.
Mejoramiento de las funciones para resolver problemas. Un sistema experto
mejora la solucin de problemas permitiendo la integracin de juicios de
expertos de primera lnea en el anlisis. De este modo, un sistema experto
tiene la posibilidades resolver problemas cuyo enlace y conocimiento supera
a los de cualquier individuo.
Reduccin del tiempo para la toma de decisiones. Con el empleo de la
recomendacin del sistema, un ser humano puede tomar decisiones mucho
ms rpido. Por ejemplo, el personal que da las autorizaciones en American
Express lo hace en menos de 30 segundos en comparacin con los 3 minutos
que tardaba antes de la implementacin del sistema experto.
Reduccin del tiempo fuera de servicio. Muchos sistemas expertos
operacionales se emplean para diagnosticar malos funcionamientos y
prescribir reparaciones. Mediante el empleo de los sistemas expertos es
posible reducir considerablemente el tiempo fuera de servicio de las
maquinas de las maquinas. Por ejemplo, un da de trabajo perdido en una
instalacin petrolera cuesta cerca de $250 mil dlares. Un sistema experto
denominado Drilling Advisor se cre para detectar fallas en las instalaciones
petroleras. Este sistema ahorra un cantidad muy grande de dinero a la
compaa implicada al reducir de manara importante el tiempo fuera de
operacin.

COMPONENTES DE UN SISTEMA EXPERTO


Una caracterstica decisiva de los Sistemas Expertos es la separacin entre
conocimiento (reglas, hechos) por un lado y su procesamiento por el otro.A ello
se aade una interface de usuario y un componente explicativo.
A continuacin os muestro una breve descripcin de cada uno de los
componentes, pudiendo seleccionar cada uno de ellos individualmente para
verlos en profundidad.

COMPONENTES:
1- La Base de Conocimientos de un Sistema Experto contiene el
conocimiento de los hechos y de las experiencias de los expertos en un dominio
determinado.
2- El Mecanismo de Inferencia de un Sistema Experto puede simular la
estrategia de solucin de un experto.
3- El Componente Explicativo explica al usuario la estrategia de solucin
encontrada y el porqu de las decisiones tomadas.
4- La Interface de Usuario sirve para que ste pueda realizar una consulta en
un lenguaje lo ms natural posible.
5- El Componente de Adquisicin ofrece ayuda a la estructuracin e
implementacin del conocimiento en la base de conocimientos.
COMPONENTES: LA BASE DE CONOCIMIENTOS
La Base de conocimientos contiene todos los hechos, las reglas y los
procedimientos del dominio de aplicacin que son importantes para la solucin
del problema.
Para entender la base de conocimientos lo explicare con un ejemplo martimo,
creo que as todos seris capaces de entenderlo:

Los hechos son del tipo: El velero Tiburn tiene una longitud de 6m.La
representacin de este conocimiento puede realizarse orientndola, por ejemplo,
segn objetos. Los objetos de una base de conocimientos pueden ser entonces:
barco, barco a motor, barco a vela. Estos objetos estn relacionados de tal forma
que un barco a vela tiene todas las cualidades de un barco, y adems todas las
cualidades especficas de un barco a vela.
Todas las cualidades de un barco, por ejemplo: Desplazamiento sobre el agua,
vienen descritas con el barco. A travs de la relacin formulada, el barco a vela
hereda estas cualidades, de forma que slo har falta describir sus cualidades
particulares.
Este tipo de programacin se define como programacin orientada a objetos y se
utiliza con frecuencia en el desarrollo de los Sistemas Expertos. Puede darse el
caso de que determinados procesos y funciones deban subordinarse a unos
objetos en particular, por ejemplo la velocidad como funcin de la fuerza y la
direccin del viento. La velocidad se determinar en funcin de los datos
particulares.
Cmo se lleva a cabo la clasificacin en grupos de las caractersticas y de los
procedimientos alrededor de un objeto con las tcnicas de programacin, y cmo
deben ser las relaciones entre los objetos pueden variar mucho de aplicacin a
aplicacin. Junto a estos objetos, la base de conocimientos dispone de reglas.
Estas reglas se representan en forma de:
Si premisas Entonces Conclusin y/o Accin.
En la zona de las premisas se solicitan vinculaciones lgicas referentes a las
cualidades de los objetos.
En la zona de la conclusin se aaden nuevos hechos y cualidades a la base
de conocimientos y/o se ejecutan acciones. Esto se define a menudo como
programacin orientada a reglas.
Como podris deducir se nos plantean muchas preguntas para realizar la labor,
como por ejemplo:
Qu objetos sern definidos?
Cmo son las relaciones entre los objetos?
Cmo se formularn y procesarn las reglas?

La base de conocimientos hace totalmente referencia a la solucin del


problema?
La base de conocimientos es consistente?
Las respuestas a estas preguntas son el trabajo del Ingeniero del conocimiento
junto con la colaboracin de los expertos.
COMPONENTES: MECANISMO DE INFERENCIA
El mecanismo de inferencia es la unidad lgica con la que se extraen conclusiones de
la base de conocimientos, segn un mtodo fijo de solucin de problemas que esta
configurado imitando el procedimiento humano de los expertos para solucionar
problemas.
Una conclusin se produce mediante aplicacin de las reglas sobre los hechos
presentes.
Ejemplo:
Una Regla es:

Si p y q entonces r

Se dan los hechos: p y q


p y q son justo aquellos hechos que se mencionan en la clusula si de la regla,
es decir, las condiciones para la aplicabilidad de la regla. Aplicar la regla es:
deducir de los hechos p y q el hecho r.
En un Sistema Experto existir un hecho slo cuando est contenido en la base
de conocimientos.
Los hechos que constan en la clusula si se llaman premisas, y el contenido en
la clusula entonces se llaman conclusin. Cuando se aplica una regla sobre
algunos hechos cualesquiera se dice que se dispara. El disparo de una regla
provoca la insercin del nuevo hecho en la base de conocimientos.
Las funciones del mecanismo de inferencia son:
1- Determinacin de las acciones que tendrn lugar, el orden en que lo harn
y cmo lo harn entre las diferentes partes del Sistema Experto.
2- Determinar cmo y cundo se procesarn las reglas, y dado el caso tambin
la eleccin de qu reglas debern procesarse.

3- Control del dilogo con el usuario.


La decisin sobre los mecanismos de procesamiento de reglas, es decir, qu
estrategias de bsqueda se implementarn, es de vital importancia para la
efectividad del sistema en su conjunto.
Ante problemas o clases de problemas distintos se estructuran, como es lgico,
diferentes mecanismos de inferencia. El mecanismo de inferencia debe de estar
adaptado al problema a solucionar. Una imposicin de dinero exige, bajo
ciertas circunstancias, una estrategia distinta de procesamiento del conocimiento
que un diagnstico de fallos de mquina.
COMPONENTES: COMPONENTE EXPLICATIVO
Las soluciones descubiertas por los expertos deber poder ser repetibles tanto por el
ingeniero del conocimiento en la fase de comprobacin as como por el usuario. La
exactitud de los resultados slo podr ser controlada, naturalmente, por los
expertos.
Siempre es deseable que durante el trabajo de desarrollo del sistema se conozca
el grado de progreso en el procesamiento del problema. Como os he dicho en
anterioridad nos pueden surgir unas preguntas como las siguientes:
Qu preguntas se plantean y por qu?
Cmo ha llegado el sistema a soluciones intermedias?
Qu cualidades tienen los distintos objetos?
A pesar de insistir sobre la importancia del componente explicativo es muy difcil
y hasta ahora no se han conseguido cumplir todos los requisitos de un buen
componente explicativo. Muchos representan el progreso de la consulta al
sistema de forma grfica. Adems los componentes explicativos intentan
justificar su funcin rastreando hacia atrs el camino de la solucin. Aunque
encontrar la forma de representar finalmente en un texto lo suficientemente
inteligible las relaciones encontradas depara las mayores dificultades. Los
componentes explicativos pueden ser suficientes para el ingeniero del
conocimiento, ya que est muy familiarizado con el entorno del procesamiento
de datos, y a veces bastan tambin para el experto; pero para el usuario, que a
menudo desconoce las sutilezas del procesamiento de datos, los componentes
explicativos existentes son todava poco satisfactorios.
COMPONENTES: INTERFACE DE USUARIO

En este componente como todos bien sabis es la forma en la que el sistema se nos
presentar ante el usuario. Como en los anteriores nos surgen dudas y preguntas
como por ejemplo:
Preguntas Comunes:

Cmo debe responder el usuario a las preguntas planteadas?

Cmo saldrn las respuestas del sistema a las preguntas que se le


planteen?

Qu informaciones se representarn de forma grfica?

La interface que presentaremos al usuario voy a resumirlas en cuatro, que a mi


opinin son las ms importantes y las ms a tener en cuenta al desarrollar el
sistema:
Requisitos o Caractersticas de la interface:
1- El aprendizaje del manejo debe ser rpido.
El usuario no debe dedicar mucho tiempo al manejo del sistema, debe ser
intuitivo, fcil en su manejo. No debemos olvidar que nuestro sistema simula
al comportamiento de un experto. Debe sernos cmodo y relativamente
sencillo en cuanto al manejo.
2- Debe evitarse en lo posible la entrada de datos errnea.
Ejemplo: Poneros en la situacin de que nuestro sistema a un mdico.
Cuando nosotros acudimos a un mdico, le contamos y detallamos nuestros
sntomas y el con sus preguntas junto con nuestras respuestas nos
diagnostica nuestra enfermedad.Imaginaros que acudimos a un medico y le
decimos que nos duele una pierna en lugar de un brazo, el diagnostico ser
intil. El ejemplo es muy exagerado pero demuestra la importancia en la
correcta introduccin de los datos al sistema.
3- Los resultados deben presentarse en una forma clara para el usuario.
Vuelvo al ejemplo del mdico. Si nuestro mdico nos diagnostica un
medicamento pero en nuestra receta no nos escribe cada cuantas horas
hemos de tomarlo por ejemplo, por muy bueno que sea el medicamento, la
solucin a nuestro problema ser ineficiente por completo. Por eso se insiste
en que los resultados debe ser claros y concisos.

4- Las preguntas y explicaciones deben ser comprensibles


Con estas cuatro reglas
posibilidades de xito.

crearemos

nuestro

interface

con

grandes

COMPONENTES: COMPONENTE DE ADQUISICIN


Un buen componente de adquisicin ayudar considerablemente la labor del
Ingeniero del Conocimiento. Este puede concentrarse principalmente en la
estructuracin del conocimiento sin tener que dedicar tanto tiempo en la actividad
de programacin. Como hice en el campo de la interface, daremos unas reglas o
requisitos para la realizacin de nuestro componente de adquisicin.
Requisitos o caractersticas del componente de adquisicin:
1- El conocimiento, es decir, las reglas, los hechos, las relaciones entre los
hechos, etc.., debe poder introducirse de la forma ms sencilla posible.
2- Posibilidades de representacin clara de todas las informaciones contenidas
en una base de conocimientos.
3- Comprobacin automtica de la sintaxis.
4- Posibilidad constante de acceso al lenguaje de programacin.
Como se pone en prctica cada uno de los requisitos depender del lenguaje de
programacin elegido y del hardware que tengamos. El experto deber estar
algo familiarizado con el componente de adquisicin para poder realizar
modificaciones por s slo.
DESARROLLO DE LOS SISTEMAS EXPERTOS
Esta pgina voy a subdividirla en tres apartados. Podris visitar por separado
cada uno de ellos obteniendo una informacin ms detallada. El tema que
engloba a los tres apartados es el mismo, el desarrollo de un sistema experto. La
subdivisin en apartados est hecha de menos a ms. Me explico: Para
desarrollar el software primero conocemos el equipo de gente necesario, despus
los mtodos que utiliza ese equipo de gente y por ultimo como prueban y
construyen prototipos de software para terminar en el sistema final.
1. EL EQUIPO DE DESARROLLO

Las personas que componen un grupo o un equipo, como en todos los mbitos
deben cumplir unas caractersticas y cada uno de ellos dentro del equipo
desarrolla un papel distinto.
A continuacin detallaremos cada componente del equipo dentro del desarrollo
y cual es la funcin de cada uno:
1- EL EXPERTO
La funcin del experto es la de poner sus conocimientos especializados a
disposicin del Sistema Experto.
2- EL INGENIERO DEL CONOCIMIENTO
El ingeniero que plantea las preguntas al experto, estructura
conocimientos y los implementa en la base de conocimientos.

sus

3- EL USUARIO
El usuario aporta sus deseos y sus ideas, determinado especialmente el
escenario en el que debe aplicarse el Sistema Experto.
En el desarrollo del Sistema Experto, el ingeniero del conocimiento y el
experto trabajan muy unidos. El primer paso consiste en elaborar los
problemas que deben ser resueltos por el sistema. Precisamente en la
primera fase de un proyecto es de vital importancia determinar
correctamente el mbito estrechamente delimitado de trabajo. Aqu se
incluye ya el usuario posterior, o un representante del grupo de usuarios.
Para la aceptacin, y en consecuencia para el xito, es de vital y suma
importancia tener en cuenta los deseos y las ideas del usuario.
Una vez delimitado el dominio, nos pondremos a engrosar nuestro sistema
con los conocimientos del experto. El experto debe comprobar
constantemente si su conocimiento ha sido transmitido de la forma ms
conveniente. El ingeniero del conocimiento es responsable de una
implementacin correcta, pero no de la exactitud del conocimiento. La
responsabilidad de esta exactitud recae en el experto.
A ser posible, el experto deber tener comprensin para los problemas que
depara el procesamiento de datos. Ello facilitar mucho el trabajo. Adems,
no debe ignorarse nunca al usuario durante el desarrollo, para que al final se
disponga de un sistema que le sea de mxima utilidad.

La estricta separacin entre usuario, experto e ingeniero del conocimiento no


deber estar siempre presente. Pueden surgir situaciones en las que el
experto puede ser tambin el usuario. Este es el caso, cuando exista un tema
muy complejo cuyas relaciones e interacciones deben ser determinadas una
y otra vez con un gran consumo de tiempo. De esta forma el experto puede
ahorrarse trabajos repetitivos.
La separacin entre experto e ingeniero del conocimiento permanece, por
regla general inalterada.
2. MTODOS AUXILIARES EN EL DESARROLLO
La eficiencia en la creacin de Sistemas Expertos puede aumentarse en gran
medida con la aplicacin de Shells.
Un Shell (de forma resumida) es un Sistema Experto que contiene una base de
conocimientos vaca. Existen el mecanismo de inferencia, el componente
explicativo y a veces tambin la interface de usuario.
Ya el mecanismo de inferencia depende del problema o grupos de problemas.
No existe ningn Shell para todas las aplicaciones, sino que hay que buscar un
Shell para cada aplicacin.
Tambin es posible que haya que desarrollar adicionalmente partes del
mecanismo de inferencia .Segn el tamao de esta parte tendr que pensar si
la aplicacin de un Shell determinado sigue siendo apropiada. Si el ingeniero del
conocimiento conoce bien este Shell, es decir si, por ejemplo, conoce
exactamente cmo son procesadas las reglas, entonces slo tendr que
concentrarse en la creacin de la base de conocimientos. A menudo, el Shell
contiene Frames. Estos son marcos previamente preparados, en los que, por
ejemplo, slo se introduce en nombre del objeto, sus cualidades y los
correspondientes valores.
Las relaciones entre los objetos se indican mediante sealizacin de los dos
objetos y del tipo de relacin que exista entre ellos. El trabajo de
implementacin debemos procurar, en la medida de lo posible, reducirlo al
mximo.
Los Frames son componentes explicativos y/o el mecanismo de inferencia estn
dimensionados de forma distinta en los diferentes Shells.
3. CONSTRUCCINDE PROTOTIPOS (Rapid Prototyping)

En el desarrollo de Sistemas Expertos se nos plantean dos importantes riesgos:


1- No existen implementaciones similares que puedan servir de orientacin al
encargado del desarrollo en la casi totalidad de los casos.
2- En muchos puntos, los requisitos necesarios estn esbozados con muy
poca precisin.
El diseo y la especificacin requieren una temprana determinacin de la
interface del software y de la funcionalidad de los componentes. En el desarrollo
de Sistemas Expertos deben alterarse a menudo durante y tambin despus de
su implementacin, ya que los requisitos se han ido configurando y han
obtenido mayor precisin, o porque se ha descubierto que deben iniciarse otras
vas de solucin. Durante el desarrollo, resulta ms apropiado empezar con
implementaciones tipo test para encontrar el camino hacia una solucin
definitiva y para hacerlas coincidir con las necesidades del usuario.
Un mtodo efectivo es la implementacin de un prototipo de Sistema Experto
que permita llevar a cabo las funciones ms importantes de ste, aunque con
un esfuerzo de desarrollo considerablemente inferior al de una implementacin
convencional. Este proceder se define bajo el nombre de Rapid
Prototyping.Las
mquinas
de
Inteligencia
Artificial
especialmente
desarrolladas, los lenguajes de programacin de Inteligencia Artificial y en
determinados casos los Shells, ofrecen una considerable ayuda para el Rapid
Prototyping.
Para Sistemas Expertos, el Rapid Prototyping es el procedimiento ms
adecuado, pues posibilita una rpida reaccin a los deseos en constante cambio
tanto por parte de los expertos como parte del usuario.
CAMPOS DE APLICACIN
La aplicacin de Sistemas Expertos ser adecuada all donde los expertos
dispongan de conocimientos complejos en un rea muy delimitada, donde no
existan algoritmos ya establecidos ( o donde los existentes no puedan
solucionar algunos problemas ).
Otro campo de aplicacin es all donde encontremos teoras que resulten
prcticamente imposibles de analizar todos los casos tericamente imaginables
mediante algoritmos y en un espacio de tiempo relativamente corto y
razonable.
En estas situaciones hace falta el conocimiento que el experto ha adquirido por
experiencia, para llegar a una solucin en un espacio de tiempo aceptable.

Los dos tipos de problema que os he descrito se caracterizan adems por el


hecho de que, aunque es posible la existencia de una o ms soluciones, la va
de solucin no est previamente fijada. Sin embargo, el experto encuentra a
menudo una solucin al problema gracias a las informaciones que posee sobre
el problema y a su experiencia. Mientras esta solucin sea susceptible de
repeticin y el planteamiento del problema est claro, existe un razonamiento
que puede ser reproducido por un Sistema Experto.
Debido a que la estructuracin e implementacin del conocimiento del experto
requiere una gran cantidad de trabajo, slo valdr la pena realizar el esfuerzo
de crear un Sistema Experto cuando un conocimiento sea vlido durante un
largo espacio de tiempo y vaya a ser utilizado por el mayor nmero de
personas.
Resumiendo os dir que los Sistemas Expertos ofrecen ayuda para:
1- Evitar fallos en labores rutinarias complejas
2- Ampliar de forma ms rpida los conocimientos de los especialistas.
3- Diagnosticar los fallos con mayor rapidez y conseguir tareas de
planificacin ms completas y consistentes.
En este sentido, el Sistema Experto supone una descarga del experto en el
trabajo rutinario y, por lo tanto, la reduccin de sus problemas. Cuando la labor
del experto no est tan sobrecargada, se reducen las decisiones errneas y se
aceleran los procesos en la toma de decisiones.
Los Sistemas Expertos no deben considerarse como soluciones aisladas
respecto a otros desarrollos de software. La aplicacin del software
convencional debe realizarse all donde tenga sentido hacerlo.
Otro punto que afecta al sistema es el hardware disponible. En una situacin en
la que un sistema sea necesario en muchos puntos distintos, el Sistema Experto
deber poder funcionar, a ser posible, en el hardware all disponible. En la
actualidad hay aparatos de Inteligencia Artificial muy avanzados, pero que por
cuestiones de coste (como siempre) no pueden ser aplicados en todos los
puestos de trabajo de los usuarios.
LENGUAJES DE PROGRAMACIN DE SISTEMAS EXPERTOS
A continuacin voy a daros una breve descripcin sobre los dos lenguajes ms
importantes en el desarrollo de Sistemas Expertos, para que os podis hacer
una idea de como se desarrolla este tipo de software inteligente.

LISP
El nombre LISP es la abreviatura de List-Processing, ya que el LISP fue
desarrollado para el procesamiento de listas. La lista es la estructura ms
importante de LISP. El lenguaje LISP fue diseado ya a finales de los aos 50 por
McCarthy. A lo largo de los ltimos aos se han desarrollado muchos dialectos,
por ejemplo MACLISP, COMMONLISP, INTERLISP, ZETALISP, donde el
COMMONLISP se est imponiendo cada vez ms como estndar.
Presentar ahora ya el LISP como lenguaje propio, dejando ya atrs su historia.
En LISP se dan los siguientes conceptos caractersticos:
Listas y tomos: La estructura ms importante es la lista. Los atomos
pueden subordinarse a cualidades.
La Funcin: Cada funcin LISP y cada programa LISP tiene estructura de
lista.Los programas no pueden distinguirse sintcticamente de los datos.
LISP ofrece sus propias funciones bsicas.
Forma de Trabajo: LISP es un lenguaje funcional. Ofrece la posibilidad de
realizar definiciones recursivas de funciones. La unin de procedimientos
se realiza de forma dinmica, es decir en plena ejecucin, y no como en
otros lenguajes de programacin. El sistema realiza automticamente
una gestin dinmica de memoria.
Como os he descrito antes, la estructura ms importante en LISP es la lista por
lo que, para los que no lo conocis voy a poneros un pequeo ejemplo:
Ejemplo :
(A (B C) D) es una lista con tres elementos
A

tomo

( B C ) lista de tomos B y C
D

tomo

Tambin est permitida una lista vaca , ( ) NIL , que significa lo mismo.
Con esta estructura podemos configurar estructuras de cualquier complejidad,
tan grandes como queramos.

Los tomos son nmeros , cadenas de caracteres o smbolos. Un smbolo puede


tener varios valores, al igual que una variable en otros lenguajes de
programacin, como por ejemplo un nmero, o tambin puede ser el nombre de
una funcin, o incluso ambos. Adems a un smbolo pueden subordinarse
cualidades, que adems del valor del smbolo, contienen informacin adicional.
Estas cualidades tambin reciben el nombre de atributos.
Para los ms interesados en el funcionamiento de este lenguaje, voy a explicar
brevemente alguna caracterstica de cmo esta implementado LISP, y de cmo
funciona por dentro.
Componentes de un sistema LISP.
Un componente importante de un sistema LISP es la gestin dinmica de la
memoria. El sistema administrar el espacio en la memoria para las listas en
constante modificacin, sin que el usuario lo deba solicitar. Libera los espacios
de memoria que ya no son necesarios y los pone a disposicin de usos
posteriores. La necesidad de este proceso se deriva de la estructura bsica de
LISP, las listas, que se modifican de forma dinmica e ilimitada.
Adems un sistema LISP abarca bastante ms que el solo intrprete del
lenguaje LISP. Consta de algunos cmodos mdulos que ofrecen ayuda en el
desarrollo y control del progreso en programas, como son el Editor, el FileSystem y el Trace. Por supuestos estos mdulos slo estn en versiones de LISP
que contengan la conocida interfaz grfica IDE tpica de los modernos lenguajes
visuales.(IDE = entorno de desarrollo integrado).
PROLOG
PROLOG es la abreviatura de PROGRAMACIN LOGICA, con lo que hacemos
mencin a la procedencia del lenguaje: Es una realizacin de lgica de
predicados, como lenguaje de programacin.
En la actualidad, el PROLOG se aplica como lenguaje de desarrollo en
aplicaciones de Inteligencia Artificial en diferentes proyectos de Europa. En los
Estados Unidos, el LISP est ms extendido que el PROLOG. Pero para la
mayora de los terminales de trabajo de Inteligencia Artificial se ofrece tambin
el PROLOG.
Como una especie de semiestndar se han establecido el DECsystem-10
PROLOG de Edimburgo y el PROLOG descrito en el libro PROGRAMMING IN
PROLOG de W.F.Clocksin y C.S.Melish. La mayora de los dialectos PROLOG se
basan en este y contienen el DECsystem-10 PROLOG en su mbito lingstico.

Al contrario que el LISP (y otros lenguajes), en el PROLOG los programas son


confeccionados de forma distinta. A los interesados en pueden leer a Kowalski
que escribi un articulo con el ttulo Algorithm = Logic + Control. Con esto
pretende decirnos que los algoritmos pueden ser divididos en su lgica y en sus
mecanismos de control.
La lgica se representa en forma de predicados. Estos predicados aparecen en
tres formas distintas: como hechos, como reglas y como preguntas. La lgica
formulada como hechos y reglas se define como base de conocimientos. A esta
base de conocimientos se le pueden formular preguntas.
Los mecanismos importantes del PROLOG son: recursividad, instanciacin,
verificacin, unificacin, backtracking e inversin.
La Recursividad representa la estructura ms importante en el desarrollo
del programa. En la sintaxis del PROLOG no existen los bucles FOR ni los
saltos; los bucles WHILE son de difcil incorporacin, ya que las variables
slo pueden unificarse una sola vez. La recursin es ms apropiada que
otras estructuras de desarrollo para procesar estructuras de datos
recursivas como son las listas y destacan en estos casos por una
representacin ms sencilla y de mayor claridad.
La Instanciacin es la unin de una variable a una constante o estructura.
La variable ligada se comporta luego como una constante.
La Verificacin es el intento de derivar la estructura a comprobar de una
pregunta desde la base de conocimientos, es decir, desde los hechos y
reglas. Si es posible, la estructura es verdadera, en caso contrario es
falsa.
La Unificacin es el componente principal de la verificacin de estructuras.
Una estructura estar comprobada cuando puede ser unificada con un
hecho, o cuando puede unificarse con la cabecera de una regla y las
estructuras del cuerpo de dicha regla pueden ser verificadas.
Como introduccin creo que ha podido ser un primer paso para conocer un
poquito estas dos herramientas que tenemos para crear nuestros programas
inteligentes.Y ya sabis si os ha gustado el tema os animo a desarrollar un
sistema experto dentro del mbito que ms os guste, utilizando cualquiera de
estas dos herramientas de programacin.

CLIPS
CLIPS es otra herramienta para el desarrollo de S.E. que ofrece un entorno
completo para su construccin basado en reglas y objetos. CLIPS est siendo
utilizado por numerosos usuarios como la NASA (que es su creadora), muchas
universidades y empresas. CLIPS viene de (C Language Integrated Production
System) y como su nombre indica uno de los objetivos que buscaban sus
creadores era la fcil integracin con programas en C. As, al darle una
portabilidad con programas en lenguaje C, las universidades que lo usan
pueden trasladar fcilmente sus aplicaciones al entorno del agente.
SMALLTALK
Smalltalk fue el primer lenguaje de programacin que fue diseado para
basarse exclusivamente en objetos. Fue originalmente inventado por Alan Kay
en Xerox PARC en 1972, pero mucha gente le ha hecho importantes
contribuciones al diseo del lenguaje. Este lenguaje se ha convertido en una
opcin muy popular en diversos campos como los videojuegos y la Inteligencia
Artificial.
Virtualmente todo lo que existe en un sistema Smalltalk es una instancia de una
clase particular de objeto y generalmente puede haber tantas instancias como
se deseen. Esto significa que se pueden tener cualquier nmero de instancias
de cualquier caracterstica del sistema activas al mismo tiempo.
C y C++
C es uno de los lenguajes de programacin ms populares en uso. Proporciona
un esqueleto estructurado sin lmites para la creatividad del programador; una
de las ventajas de C sobre otros lenguajes usados para investigacin en IA es
que es un lenguaje estructurado y adems, si su aplicacin no requiere usar la
tcnica Backtracking ni los recursos de una base de datos, estos no se
convierten en un peso extra que debe soportar la aplicacin.
No hay una sola tcnica de IA que no pueda ser desarrollada en un lenguaje
procedimental como lo es C. De hecho, el desarrollo de ciertas rutinas es en
verdad ms claro en C que un lenguaje de IA.
En cuanto a C++ se puede decir que es una extensin orientada a objetos de C,
la cual permite utilizar la metodologa orientada a objetos para la creacin de
diversos sistemas y programas, incluso los de IA.

EJEMPLOS DE SISTEMAS EXPERTOS


En forma resumida dos Sistemas Expertos que fueron decisivos para el xito del
avance investigador en el campo de los Sistemas Expertos. As os podris hacer
una idea, ya con un ejemplo real, de para que sirve y en que materias se aplica
un Sistema Experto.
1- MYCIN

Sistema Experto para diagnsticos mdicos

2- XCON

Sistema Experto para configuracin de Ordenadores.

MYCYN
MYCIN es un Sistema Experto para la realizacin de diagnsticos, iniciado pro
Ed Feigenbaum y posteriormente desarrollados por E.Shortliffe y sus
colaboradores. Su funcin es la de aconsejar a los mdicos en la investigacin y
determinacin de diagnsticos en el campo de las enfermedades infecciosas de
la sangre. El sistema MYCIN, al ser consultado por el mdico, solicita primero
datos generales sobre el paciente: nombre, edad, sntomas, etc. Una vez
conocida esta informacin por parte del sistema, el Sistema Experto plantea
unas hiptesis. Para poder verificarlas comprueba primero la exactitud de las
premisas de la regla (Os preguntareis como hace esto). Esto se realiza mediante
una bsqueda de enunciados correspondientes en la base de conocimientos.
Estos enunciados pueden a su vez estar de nuevo en la parte de consulta de
otra regla. Tambin lo realiza mediante determinadas preguntas al usuario. Aqu
se hacen preguntas del tipo: Se ha practicado en el paciente algn tipo de
intervencin quirrgica?
Con las respuestas que recibe, el MYCIN verifica o rechaza las hiptesis
planteadas. Una serie de tests han demostrado que MYCIN trabaja igual de bien
que un mdico.( A mi particularmente me cuesta mucho creerlo y me parece
que es increble, pero ah estn los resultados de los test).
XCON
XCON es un Sistema Experto para configuraciones desarrollado por la Digital
Equipment Corporation.
Segn los deseos individuales del cliente se configuran redes de ordenadores
VAX. Ya que el abanico de productos que se ofrecen en el mercado es muy
amplio, la configuracin completa y correcta de un sistema de estas
caractersticas es un problema de gran complejidad.

Las funciones de este Sistema Experto son las siguientes:


1- Pueden conjugarse los componentes solicitados por el cliente de forma
conveniente y razonable?
2- Los componentes de sistema especificados son compatibles y completos?
Las respuestas a estas preguntas son muy detalladas. XCON es capaz de
comprobar y completar los pedidos entrantes mucho ms rpido y mejor que
las personas encargadas hasta ahora de esa labor.

Vous aimerez peut-être aussi