Académique Documents
Professionnel Documents
Culture Documents
Escuela Profesional de
Ingeniera en Computacin e Informtica
INTELIGENCIA ARTIFICIAL
COACHING
DOCENTE
INTEGRANTES:
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.
Limitaciones
La falta de confianza de los usuarios finales, tal vez sea una barrera para el
uso de los sistemas expertos.
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?
Si p y q entonces r
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:
crearemos
nuestro
interface
con
grandes
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.
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.
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.
2- XCON
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.