Sistemas expertos

  • 325 views
Uploaded on

El objetivo de este trabajo es dar a conocer, mediante una precisa descripción, lo que son los Sistemas Expertos (SE); los cuales son conocidos también como Sistemas Basados en Conocimiento.

El objetivo de este trabajo es dar a conocer, mediante una precisa descripción, lo que son los Sistemas Expertos (SE); los cuales son conocidos también como Sistemas Basados en Conocimiento.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
325
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN SISTEMAS EXPERTOS: PROGRAMANDO LOS CONOCIMIENTOS DE UNA PERSONA Autor: José Luis Quepuy Ternero Curso: Metodología del Trabajo Intelectual Profesor: Gerardo Raúl Chunga Chinguel Semestre Lectivo: 2014­0 Chiclayo ­ Perú Febrero, 2014 1
  • 2. DEDICATORIA El presente trabajo va dedicado al notable esfuerzo de mi madre, de mi tío y mis abuelos. A ellos les debo lo que soy, por haber hecho de mi una persona íntegra y de grandes valores. AGRADECIMIENTO A Dios, que es mi fortaleza, por poner en mi vida a estos ángeles terrenales llamados "amigos". A los grandes maestros que he conocido durante mi vida profesional, el cual aún no culmina. A mis mágicas princesas que, con sus sonrisas, me devolvían el aliento para continuar. Y, en especial, a mi señorita enamorada: Paola, por los ánimos y su apoyo siempre. A estos seres “thanks so much”. 2
  • 3. RESUMEN El  objetivo  de  este  trabajo  es  dar  a  conocer,  mediante  una  precisa  descripción,  lo  que  son  los Sistemas  Expertos  (SE);  los  cuales  son  conocidos  también  como  Sistemas  Basados  en Conocimiento.  Pues,  se  basan  en  conocimientos   propios  que  tiene  un  profesional  en determinada  área.  Así  mismo,  mostrar  brevemente  los  orígenes,  conceptos,  aplicaciones, ventajas, limitaciones, y la arquitectura básica de este campo de la Inteligencia Artificial. Como  conclusión  más  resaltante,  los  Sistemas  Expertos  son   software  inteligentes,  pues almacenan  los  conocimientos  de  un  “experto  humano”  para,  posteriormente,  usarlo  en  la solución de un problema emergente. Palabras clave: Sistemas Expertos, Base de Conocimientos, Base de Hechos, Motor de Inferencia, Inteligencia Artificial. 3
  • 4. ÍNDICE DEDICATORIA 2 AGRADECIMIENTO 2 RESUMEN 3 ÍNDICE 4 INTRODUCCIÓN 5 CAPÍTULO I: Fundamentos sobre los Sistemas Expertos 1.1. Breve Historia de los Sistemas Expertos 1.2. Definición de Sistema Experto 1.3. Clasificación de Sistema Experto 1.4. Arquitectura de un Sistema Experto 1.5. Características propias de un Sistema Experto 6 6 8 9 CAPÍTULO II: Implementación y Ejemplos de un Sistema Experto 2.1. Aplicaciones de un Sistema Experto 2.2. ¿Cómo desarrollar un Sistema Experto? 2.3. ¿Cómo programar un Sistema Experto? 2.4. Ejemplos de Reglas en los SE 2.4.1. Ejemplo 1, por definición de datos 2.4.2. Ejemplo 2, por definición de reglas 2.4.3. ¿Cómo buscan los sistemas expertos? 2.4.4. Ejemplo de búsqueda primero en profundidad 10 13 15 15 16 18 22 22 23 CAPÍTULO III: Ventajas, desventajas y limitaciones de un Sistema Experto 26 3.1. Ventajas de un Sistema Experto 3.2. Desventajas de un Sistema Experto 27 3.3. Limitaciones de un Sistema Experto 27 24 24 26 CONCLUSIONES 29 REFERENCIAS BIBLIOGRÁFICAS 30 4
  • 5. INTRODUCCIÓN En  la  actualidad  el  cambiante  mercado  competitivo   se  vuelve  más  complejo  por  la  gran diversidad  de  información que las  empresas se ven obligados a almacenar y analizar, razón por la  cual  estas  empresas se ven en la necesidad de recurrir a poderosas y robustas herramientas o  sistemas   que   les  sirvan  de  soporte  a  la  hora  de  tomar   decisiones.  Es  así  como  nacen  los denominados  Sistemas  Expertos,  los  cuales  tienen  la  finalidad  de brindar posibles soluciones a determinados  casos  con  un  elevado  porcentaje  de  exactitud.  De esta  forma  estos  inteligentes, precisos  y  eficientes  sistemas  son  adoptados  por  más  organizaciones,  en  las  cuales  se convierten en una importante estrategia de negocio. Este  trabajo  está  organizado  de  la  siguiente  forma:  En  el  primer  capítulo  hablaremos brevemente  sobre  cómo, a  lo largo  de  la  historia,  nace  este  término.  Por  lo  que  definiremos  lo que  es  un  sistema  experto,  cómo  se  clasifican,  cuál  es  su  arquitectura  y  características  más resaltantes.   El  segundo  capítulo  describe  las  aplicaciones  en  que  se  puede  aprovechar  un sistema  experto,  cómo desarrollar  y cómo llegar a programarlos. Para este último, se muestran sencillos   ejemplos  de  aplicación  lógica  y  uno  práctico.  El  tercer  y  último  capítulo  describe  las ventajas, desventajas y limitaciones de todo Sistema Experto. Por  otra  parte  es  importante  mencionar  que,  los  denominados  Sistemas  Expertos,  seguirán siendo usados en todas y cada una de las áreas y/o campos, donde los expertos  humanos sean escasos.  Por   consecuencia  de  lo  anterior,  estos   sistemas  son  utilizados  por  personas  no especializadas; por lo que, a su vez, les permite  adquirir conocimientos. 5
  • 6. CAPÍTULO I: Fundamentos sobre los Sistemas Expertos Durante  años  la actividad  de  la  Inteligencia  Artificial  estuvo  dedicada a las investigaciones teóricas   y  al  desarrollo  de  experimentos  a  través  de  programas  que  demostraran “actitudes  inteligentes”,  con  estos  programas  se  pretendía  que  una  máquina  de computadora  jugará  ajedrez,  demostrara  teoremas  matemáticos,  genere  probabilidades estadísticas, etc. No  fue  hasta  los  años  70  en que surgió un nuevo paradigma en la Inteligencia Artificial “los Sistemas  Expertos”,  cuya  función  es  desarrollar  trabajos  similares  a  los  que desarrollaría un  especialista  en  un  área  determinada,  pero  la  idea  no  es sustituir  a los  expertos;  sino, más  bien,  que  estos  sistemas  sirvan  de  apoyo  a  los  especialistas  en  un  “dominio”  de aplicación específica.1 1.1. Breve Historia de los Sistemas Expertos Los  Sistemas  Expertos  nacen  como  consecuencia  de  la  Inteligencia Artificial.  El cual  es un  software  que  imita  el  comportamiento  de  un  experto  humano  en  la  solución  de  un problema;  y  que  además,  pueden  almacenar  conocimientos  de  expertos  para  un  campo determinado y solucionar un problema mediante deducción lógica de conclusiones.2 Para  un  mejor  entendimiento  de  lo  que  es  un  SE,  se ha creído conveniente dar a conocer de  manera  muy  resumida,  el  cómo  se  ha  desarrollado  esta  nueva tecnología a lo largo de la historia. Los Sistemas Expertos han evolucionado según el orden siguiente: ­  A  inicios  de  los   años  50  ya  se  hablaba  de   Máquinas   (computadoras)  con  inteligencia propia,  con  la  capacidad  de  aprender,  razonar  y  actuar  en  determinadas  situaciones.  Es así  como  el  matemático  británico  Alan  Mathison  Turing,  después  de  varios  años  de estudios  en  este  campo,  publicó  “La  Inteligencia  y  funcionamiento  de  las  máquinas”,  en 1950,   con  el  fin  de  demostrar  hasta  qué  punto  las  máquinas  contaban  con  inteligencia. Ese  mismo  año,  un  notable  matemático  estadounidense,  Norbert  Wiener,  desarrollaría  el principio de la retroalimentación. La cual es base fundamental de los sistemas de control. 1  Alejandro Madruga. Soy un cibernético, «¿Que es un sistema experto?». http://cibernetica.wordpress.com/2007/03/09/%c2%bfque­es­un­sistema­experto/. (accedido enero 18, 2014) 2  José Criado Briz. Ingenieros en Informática, «Introducción a los sistemas expertos». http://ingenieroseninformatica.org/recursos/tutoriales/sist_exp/cap1.php. (accedido enero 06, 2014) 6
  • 7. ­  Años  más   adelante,  en  1955,  Newell  y  Simon  desarrollan  la  Teoría  de  la  lógica.  Cuyo desarrollo  permitió  crear  un  programa  que  exploraba  la  solución  a un problema, utilizando ramas  y  nudos,  seleccionando  únicamente  las  ramas   que   más  parecían  acercarse  a  la solución correcta del problema. ­  Luego,  en 1956, un joven John McCarthy convocaría a una conferencia en Dartmouth.  En donde,  este  mismo  personaje,  acuñó  allí  el  término  “Inteligencia  Artificial”.  A  esta conferencia  asistieron  también  Minsky,  Newell  y  Simon; personajes  quienes más adelante aportarían con grandes conocimientos en esta nueva área de la informática. ­  En  1957,  durante  esta  década  los  investigadores  Alan  Newell  y  Herbert  Simon desarrollaron   un  programa  llamado  GPS  (General  Problem  Solver;   solucionador  general de  problemas),  el  cual  podía  trabajar  con  criptoaritmética,   con  las  torres  de  Hanói  y con otros  problemas  similares.  Pero  lo  que  no  podía  hacer  el  GPS era resolver problemas del mundo real, tales como un diagnóstico médico. ­  Posteriormente,  en  1958,  McCarthy  anuncia  su  nuevo  desarrollo, el  lenguaje  LISP  (LISt Processing).  El  lenguaje  de  elección  para  todos  aquellos  desarrolladores  inmersos  en  el estudio de la IA. ­  A  partir  de  1965,  un  equipo  dirigido  por  Edward  Feigenbaum, comenzó  a  desarrollar  SE utilizando  bases  de  conocimiento  definidas   minuciosamente.  Dos  años  más  tarde  se construye  DENDRAL,  el cual  es  considerado  como  el  primer  SE.  La  función  de dicho SE era identificar estructuras químicas moleculares a partir del análisis espectrográfico. ­  Junto  a  esto,  en  1970,  se  produce  el  advenimiento  de  los  Sistemas  Expertos.  Desde entonces  los Sistemas Expertos se han utilizado para ayudar a los médicos a diagnosticar enfermedades e informar a los mineros a encontrar vetas de mineral. ­  Luego,  en  1972,  aparece  el  lenguaje  PROLOGUE  basado  en  las  teorías  de  Minsky. Orientado también al desarrollo de IA. ­  Finalmente,  en  1987, Martin  Fischles  y  Oscar  Firschein  describieron  los  atributos  de  un agente inteligente. Los cuales debían tener, lo siguiente: ➔ Actitudes mentales tales como creencias e intenciones. ➔ Capacidad de obtener conocimiento, es decir, aprender. ➔ Puede  resolver  problemas,  incluso particionando  problemas  complejos  en  otros más simples. ➔ Entiende.  Posee  la capacidad de crearle  sentido, si es posible, a ideas ambiguas o contradictorias. ➔ Planifica,  predice  consecuencias,  evalúa  alternativas  (como  en  los  juegos  de ajedrez). 7
  • 8. ➔ Conoce los límites de su propias habilidades y conocimientos. ➔ Puede distinguir a pesar de las similitud de las situaciones. ➔ Puede  ser  original,  creando  incluso  nuevos  conceptos o ideas, y hasta utilizando analogías. ➔ Puede generalizar. ➔ Puede percibir y modelar el mundo exterior. ➔ Puede entender y utilizar el lenguaje y sus símbolos. ­  En  los  90’,  la  IA  se  utilizaría  de  forma  efectiva  en  la  Guerra  del  Golfo  sobre  sistemas de misiles  visores  para  los   soldados  y  otros  avances,  y  al  mismo  tiempo,  invade  nuestros hogares y vida cotidiana en muchos más lugares. Desde  entonces,  se  han  ido  investigando   y  desarrollando  nuevas  formas  de  aprovechar los  SE.  Por  lo  que, diremos  que  la IA, es una nueva tecnología emergente y en expansión. La  cual  posee  características  humanas,  como  el  aprendizaje,  la  adaptación,  el razonamiento,  la  autocorrección,  el  mejoramiento  implícito,  y   la  percepción  modular  del mundo. 1.2. Definición de Sistema Experto De manera general, decimos que: “Un  sistema  experto  puede  definirse  como  un  sistema  basado   en  los conocimientos  que  imita  el  pensamiento  de  un   experto,  para  resolver  problemas de un terreno particular de aplicación”. En  la  literatura  existente  se  pueden  encontrar  muchas  definiciones  de  sistema  experto. Por ejemplo, Stevens (1984), página 40, nos da la definición siguiente: “Los  sistemas  expertos  son  máquinas  que  piensan  y  razonan  como  un  experto lo  haría  en   una  cierta  especialidad  o  campo.  Por  ejemplo,  un  sistema experto en diagnóstico médico requeriría como datos los síntomas del paciente, los resultados de  análisis  clínicos  y  otros hechos  relevantes,  y,  utilizando  estos, buscaría en una base   de  datos  la  información  necesaria  para  poder   identificar  la  correspondiente enfermedad.[...]  Un  Sistema  Experto  de  verdad,  no   solo  realiza  las  funciones adicionales  de  manejar  grandes  cantidades  de  datos,  sino  que  también  manipula esos  datos  de  forma  tal  que  el  resultado  sea  inteligible  y  tenga  significado  para responder a preguntas incluso no completamente especificadas.”. Aunque  lo  anterior  no  es  todavía  una  definición  razonable  de  un  sistema  experto,   han 8
  • 9. surgido  desde  entonces  otras  definiciones,  debido  al  rápido  desarrollo  de  la  tecnología. Como  es  el   caso  de  Castillo  y  Álvarez  (1991)  y  Durkin  (1994).  El  sentido  de  estas definiciones puede resumirse como sigue: “Un  sistema  experto  puede  definirse  como  un  sistema  informático  (hardware  y software) que simula a los expertos humanos en un área de especialización dada. Como  tal,  un  sistema  experto  debería  ser  capaz  de  procesar  y  memorizar información,  aprender  y  razonar  en  situaciones  deterministas  e  inciertas, comunicar  a   los  usuarios,  tomar  decisiones  apropiadas,  y  explicar  el  por  qué  se han tomado tales decisiones”.3 Por  lo que, estos sistemas expertos son en lo esencial sistemas  de computación basados en  conocimientos  cuyos  componentes  representan  un   enfoque  cualitativo  de  la programación.  Muchas  personas  pueden  creer  que  un  Sistema  Experto  (SE)  es  un sistema  compuesto  por  subsistemas  y a  su  vez estos por otros subsistemas hasta llegar a  los  programas,  y  que  los  SE  se  miden  por  la cantidad de  programas que contienen. Sin embargo,  la  cantidad  no  es  lo  que  prima  en  los  SE,   sino  la  cualidad  del  mismo,  esta cualidad  está  dada  por  la  separación  de  las  reglas  que  describen  el  problema  (Base  de Conocimientos),  del  programa  de  control  que  es  quien  selecciona  las  reglas  adecuadas (Motor de inferencias).4 En  resumen,  podemos  decir  que  un  Sistema  Experto  es   una  Base  de  Conocimientos (BC),  una  Base  de  Hechos  (BH)  y  un  Motor  (o  Máquina)  de  Inferencias  (MI).  Y  por   otra parte  estos  sistemas  no  se  miden por  la  cantidad  de  instrucciones  o  programas  sino  por la  cantidad  de  reglas  que  hay  contenida  en  su  Base  de  Conocimientos.  Dichas deducciones, las definiremos al detalle en el apartado 2.3 Arquitectura. 1.3. Clasificación de Sistema Experto Principalmente  los  sistemas  expertos,  según  la  naturaleza  de   problemas  para  los  que están  diseñados,  pueden  clasificarse  en  dos  tipos:  problemas  esencialmente deterministas y problemas esencialmente estocásticos. ❖ Problemas  de  tipo  determinista,  son  aquellos  sistemas  completamente  predictivos, 3  Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilísticas (Universidad de Cantabria, Santander, España, 1998), 3 ­ 4. 4  Alejandro Madruga. Soy un cibernético, «¿Que es un sistema experto?». http://cibernetica.wordpress.com/2007/03/09/%c2%bfque­es­un­sistema­experto/. (accedido enero 18, 2014) 9
  • 10. pero  siempre  y  cuando  se  conozcan  sus  entradas.  Por  lo  que,  pueden  ser  formulados usando  un  conjunto de reglas que relacionan varios objetos bien definidos. Los  sistemas expertos  que tratan problemas deterministas son conocidos como sistemas basados en reglas,  porque  sacan  sus  conclusiones  basándose  en  un conjunto  de  reglas  utilizando un mecanismo de razonamiento lógico. Ejemplo:  Sistemas  Expertos  usados para  transacciones  bancarias.  Pues,  en  estos,  ya se definen las reglas de lo que éste sistema realizará en determinadas situaciones. ❖ Problemas  de  tipo  estocásticos,  son  aquellos  cuyo  comportamiento  es  no determinista,  en  la  medida  que  el  subsiguiente  estado  del  sistema  está  determinado tanto  por  las  acciones  predecibles  del  proceso   como  por  elementos  aleatorios.  Por  lo que  un  SE  estocástico  opera  utilizando  métodos  probabilísticos  para  solucionar problemas,  como  el  algoritmo  de  enfriamiento  simulado,  las  redes  neuronales estocásticas,  la  optimización  estocástica,  los  algoritmos  genéticos   y  la  programación genética.  Un  problema  puede  ser  estocástico  por  sí   mismo,  por   el  solo  hecho  de planificar bajo incertidumbre. Ejemplo:  Sistemas  Expertos  usados  en  el  campo  médico,   ya  que  las relaciones  entre síntomas  y  enfermedades  se  conocen  solo  con  un  cierto  grado  de certeza; puesto que, la  presencia  de  un  conjunto  de  síntomas  no  siempre  implica  la  presencia  de  una enfermedad. 1.4. Arquitectura de un Sistema Experto 5 La  arquitectura  de  los  SE,  se  entienden  mejor  cuando  se  examinan  sus  principales componentes.  Estas  componentes  se  muestran  esquemáticamente  en  la  siguiente imagen, y se explican a continuación: 5  Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilísticas (Universidad de Cantabria, Santander, España, 1998), 10 ­ 14. 10
  • 11. Fuente: Conceptos básicos sobre sistemas expertos ­ Componentes de un SE A. El Experto y/o Componente Humana Un  sistema  experto  es  generalmente  el  resultado  de   la  colaboración  de  uno  o  varios expertos  humanos  especialistas  en  el tema de  estudio y los  ingenieros del conocimiento (programadores).  Los  expertos humanos  suministran el conocimiento básico en el tema de  interés,  y  los  ingenieros  del  conocimiento  trasladan  este conocimiento a un lenguaje, que  el  sistema experto pueda entender.  Esta  etapa requiere una enorme dedicación y un gran  esfuerzo  debido  a  los  diferentes  lenguajes  que  hablan  las  distintas  partes  y  a  las diferentes experiencias que estas tienen. B. La Base de Conocimiento Los  especialistas  son  responsables  de  suministrar  a  los  “ingenieros  del  conocimiento” una  base  de  conocimiento  ordenada  y   estructurada,  y  un  conjunto  de  relaciones  bien definidas  y   explicadas.  Esta  forma  estructurada  de  pensar  requiere  que  los  expertos humanos  repiensen,  reorganicen,  y  reestructuren  la  base  de  conocimiento  y,  como resultado,  el   especialista  se  convierte  en  un  mejor   conocedor  de  su  propio  campo  de especialidad. Hay  que  diferenciar  entre  datos  y  conocimiento.  El  conocimiento  se  refiere  a afirmaciones  de  validez  general  tales  como  reglas,  distribuciones   de  probabilidad,  etc. Los  datos  se  refieren  a  la  información  relacionada  con  una  aplicación  particular.  Por ejemplo,  en  diagnóstico  médico,  los  síntomas,  las  enfermedades  y las  relaciones  entre ellos,  forman  parte  del  conocimiento,  mientras  los  síntomas  particulares  de  un paciente dado  forman  parte  de  los  datos.  Mientras  el  conocimiento  es permanente, los datos son 11
  • 12. efímeros,  es  decir,  no  forman  parte de  la  componente  permanente de  un sistema y son destruidos  después  de  usarlos.  El  conocimiento  se  almacena  en  la  base  de conocimiento  y  los  datos  se  almacenan  en  la  memoria  de  trabajo.  Todos  los procedimientos de los diferentes sistemas y subsistemas que  son de carácter transitorio se almacenan también en la memoria de trabajo. C. Motor de Inferencia El  motor  de  inferencia  es  el  corazón  de  todo  sistema  experto.  El  cometido  principal  de esta  componente  es  el  de  sacar  conclusiones   aplicando  el  conocimiento  a  los  datos. Por  ejemplo,  en diagnóstico médico, los síntomas de un  paciente (datos) son analizados a  la  luz  de  los  síntomas,  y  las  enfermedades  y  de  sus  relaciones  (conocimiento).  Las conclusiones  del  motor  de  inferencia  pueden  estar  basadas  en  conocimiento determinista  o  conocimiento  probabilístico.  Como  puede  esperarse,  el  tratamiento  de situaciones  de  incertidumbre  (probabilísticas)  puede  ser  considerablemente  más  difícil que  el  tratamiento  de  situaciones  ciertas  (deterministas).  En  muchos  casos,  algunos hechos  (datos)  no  se  conocen  con  absoluta  certeza.   Por  ejemplo,  piénsese  en  un paciente que no está seguro de sus síntomas. Puede darse el caso de tener que trabajar solo  con  conocimiento  de  tipo  no determinista,  es decir, de casos en los que se dispone sólo  de  información  aleatoria  o difusa. El motor de inferencia es también responsable de la  propagación  de  este  conocimiento  incierto.  De  hecho,  en  los  sistemas  expertos basados  en  probabilidad,  la  propagación  de  incertidumbre  es la tarea principal del motor de  inferencia,  que  permite  sacar  conclusiones  bajo  incertidumbre.  Esta  tarea  es  tan compleja  que  da  lugar  a  que  esta  sea  probablemente  la  componente  más  débil  de  casi todos los sistemas expertos existentes. D. La Base de Hechos Es   la  que  alberga  los  datos  propios  correspondientes  a  los  problemas  que  se  desea tratar  con  la ayuda del sistema. Asimismo, a pesar de ser la memoria de trabajo, la base de  hechos  puede  desempeñar  el  papel   de  memoria  auxiliar.  La  memoria  de  trabajo memoriza  todos   los  resultados  intermedios,  permitiendo  conservar  el   rastro  de  los razonamientos  llevados a cabo. Puede, por eso, emplearse para explicar el origen de las informaciones deducidas por el sistema en el transcurso de una sesión de trabajo o para llevar  a  cabo  la  descripción  del  comportamiento  del  propio  sistema  experto.  Al  principio del  período  de  trabajo,  la  base  de  hechos  dispone  únicamente  de  los  datos   que   le  ha introducido  el  usuario  del  sistema,  pero,  a  medida  que  va  actuando  el  motor  de inferencias,  contiene  las cadenas de inducciones y deducciones que el sistema forma al aplicar las reglas para obtener las conclusiones buscadas. 12
  • 13. E. Interfaz de Usuario La  interfaz  de  usuario  es  el  enlace  entre  el  sistema  experto  y  el  usuario. Por  ello,  para que  un  sistema  experto  sea  una  herramienta  efectiva,   debe  incorporar  mecanismos eficientes  para  mostrar  y  obtener información  de  forma  fácil  y  agradable. Un ejemplo de la información que tiene que ser mostrada tras el trabajo del motor de inferencia, es el de las  conclusiones,  las  razones que  expliquen  tales  conclusiones y una explicación de las acciones  iniciadas por  el  sistema experto.  Por  otra  parte,  cuando el  motor de inferencia no  puede  concluir  debido,  por  ejemplo,  a  la  ausencia  de  información,  la  interfaz  de usuario  es  un  vehículo  para  obtener  la  información  necesaria  del  usuario. Consecuentemente,  una  implementación  inadecuada  de  la  interfaz  de  usuario  que  no facilite   este  proceso  minara  notablemente  la  calidad  de  un sistema  experto.  Otra razón de  la  importancia  de la  interfaz  de  usuario  es que los usuarios evalúan comúnmente los sistemas  expertos  y  otros  sistemas  por  la  calidad  de  dicha  interfaz  más  que  por  la  del sistema  experto  mismo,  aunque,  como  se  dice,  no  se  deberá  juzgar “la  calidad  de  un libro por su portada”. 1.5. Características propias de un Sistema Experto ❖ Una   de  las  principales  características  de  un  sistema  experto  es  su   capacidad  para aprender.  Este  aprendizaje  se  divide  en   aprendizaje  estructural  y  aprendizaje paramétrico. ❖ Por  aprendizaje  estructural  nos  referimos  a  algunos   aspectos   relacionados  con  la estructura  del  conocimiento  (reglas,  distribuciones  de   probabilidad,  etc.).  Por  ello,  el descubrimiento  de  nuevos  síntomas  relevantes  para  una  enfermedad  o  la  inclusión  de una nueva regla en la base de conocimiento son ejemplos de aprendizaje estructural. ❖ Por  aprendizaje  paramétrico  nos  referimos  a  estimar  los  parámetros  necesarios  para construir   la  base  de  conocimiento.  Por  ello,  la  estimación  de  frecuencias  o probabilidades  asociadas  a  síntomas  o  enfermedades  es  un  ejemplo  de  aprendizaje paramétrico. ❖ Habilidad  para obtener  experiencia  a  partir  de los  datos disponibles. Estos datos pueden ser  obtenidos  por  expertos  y  no  expertos,  y  pueden   utilizarse  por  el  subsistema  de adquisición de conocimiento y por el subsistema de aprendizaje. ❖ De  las  componentes  antes  mencionadas  puede  verse  que  los  sistemas  expertos pueden realizar varias tareas. Estas tareas incluyen, pero no se limitan, a las siguientes: 13
  • 14. ➢ Adquisición  de  conocimiento  y  la  verificación  de  su   coherencia;  por  lo  que  el sistema  experto  puede  ayudar  a  los  expertos  humanos  a  dar  conocimiento coherente. ➢ Almacenar (memorizar) conocimiento. ➢ Preguntar cuando se requiere nuevo conocimiento. ➢ Aprender de la base de conocimiento y de los datos disponibles. ➢ Realizar  inferencia  y  razonamiento  en  situaciones  deterministas  y  de incertidumbre. ➢ Explicar conclusiones o acciones tomadas. ➢ Comunicar   con  los  expertos  y  no  expertos  humanos  y  con   otros  sistemas expertos. 14
  • 15. CAPÍTULO II: Implementación y Ejemplos de un Sistema Experto Para  poder  implementar Sistemas Expertos (SE), es necesario  saber cómo desarrollar un SE,  qué  etapas  seguir y cómo programar un SE. En este capítulo aprenderemos todo ello, y finalmente crearemos un sencillo ejemplo. 2.1. Aplicaciones de un Sistema Experto 6 Los  sistemas  expertos,  se  aplican  a  una  gran  diversidad  de  campos  y/o  áreas,  como  la informática,   electrónica,  educación,  agricultura,  militar,  transporte,  etc.;  sin  embargo,  sus principales  aplicaciones  se  dan  en  las  gestiones  empresariales..  En  esta  sección  se  dan unos   pocos  ejemplos  del  tipo  de  problemas   que   pueden  resolverse  mediante  sistemas expertos. ❖ Ejemplo  1,  transacciones  bancarias:  No  hace  mucho,  para  hacer  una  transacción bancaria,  tal  como  depositar  o  sacar dinero de una cuenta, uno tenía que visitar el banco en  horas  de  oficina.  Hoy  en  día,  esas  y  otras  muchas  transacciones  pueden  realizarse en  cualquier  momento  del  día  o  de  la  noche   usando  los  cajeros  automáticos  que  son ejemplos  sencillos  de  sistemas  expertos.  De  hecho,  se  pueden  realizar  estas transacciones   desde  casa  comunicándose  con  el  sistema  experto  mediante  la  línea telefónica o el internet. ❖ Ejemplo  2,  control  de  tráfico:  El  control  de  tráfico  es  una  de  las  aplicaciones  más importantes  de  los  sistemas  expertos.  No  hace  mucho  tiempo,  el  flujo  de  tráfico  en  las calles  de  una  ciudad  se  controlaba  mediante  guardias  de  tráfico  que  controlaban  el mismo  en  las  intersecciones.  Hoy  se  utilizan  sistemas  expertos  que  operan automáticamente  los  semáforos y regulan el flujo del tráfico en  las calles de una ciudad y en los ferrocarriles. ❖ Ejemplo  3,  gestiones  empresariales:  En  donde  un  SE  realizará las funciones básicas de  tratamiento  de  la  información,  para:  contabilidad  general,  ayudar  en  la  toma  de decisiones financieras, gestión de la tesorería, planificación, etc. La ventaja es que un SE puede  llegar  a  manejar  grandes  volúmenes  de  información  y  realizar  operaciones numéricas rapidísimas. ❖ Ejemplo  4,  problemas  de  planificación:  Los  sistemas  expertos  pueden  utilizarse también  para  resolver  problemas  complicados  de  planificación  de  forma  que  se 6  Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilísticas (Universidad de Cantabria, Santander, España, 1998), 4. 15
  • 16. optimicen  ciertos  objetivos  como,  por  ejemplo,  la  organización   y  asignación  de  aulas para  la  realización  de  exámenes  finales  en  una  gran  universidad,  de  forma  tal  que  se logren los objetivos siguientes: ➢ Eliminar  las  coincidencias  de  asignación  simultánea  de  aulas:  Solo  se  puede realizar un examen en cada aula al mismo tiempo. ➢ Asientos  suficientes: Un  aula  asignada  para  un examen debe tener al menos dos asientos por estudiante. ➢ Minimizar  los  conflictos  temporales:  Minimizar  el  número  de  alumnos  que  tienen exámenes coincidentes. ➢ Eliminar  la  sobrecarga  de  trabajo:  Ningún  alumno  debe  tener  más  de  dos exámenes en un periodo de 24 horas. ➢ Minimizar el número de exámenes realizados durante las tardes. Además  los  SE  también  se  aplican  en  la  contabilidad  en  apartados  como:  Auditoría, Fiscalidad, planificación, análisis financiero y la contabilidad financiera. 2.2. ¿Cómo desarrollar un Sistema Experto?7 Al  igual  que  para  desarrollar  un  sistema  de  información   convencional  existen  varias metodologías  de  desarrollo como la Ingeniería de la Información, tendencias estructuradas y   orientadas   a  objetos;  así  existen  varias  metodologías  para  desarrollar  un  sistema experto.  Metodologías  como  las  de  Buchanan,   Grover,  Brule,  Blanque  y  García  Martínez, KADS;  entre  otras.  Sin  embargo,  Weiss  y  Kulikowski  (1984)  sugieren  las  etapas siguientes para el diseño e implementación de un sistema experto: 7  Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilísticas (Universidad de Cantabria, Santander, España, 1998), 15 ­ 16. 16
  • 17. Fuente: Sistemas Expertos y Modelos de Redes Probabilísticas (Pág. 15) Describiendo las etapas de la imagen, tenemos: ❖ Planteamiento  del  problema:  La  primera  etapa  en  cualquier  proyecto  es  normalmente la  definición  del  problema  a  resolver.  Puesto  que  el  objetivo  principal  de  un  sistema experto  es  responder  a  preguntas  y  resolver  problemas,   esta  etapa  es  quizás  la  más importante  en  el  desarrollo  de  un  sistema  experto.  Si  el  sistema  está  mal  definido,  se espera que el sistema suministre respuestas erróneas. ❖ Encontrar  expertos  humanos  que  puedan  resolver el problema. En algunos casos, sin embargo, las bases de datos pueden jugar el papel del experto humano. ❖ Diseño  de   un  sistema  experto:  Esta  etapa  incluye  el  diseño  de  estructuras  para almacenar  el  conocimiento,  el  motor  de  inferencia,  el  subsistema  de  explicación,  la interfaz de usuario, etc. ❖ Elección  de  la  herramienta  de  desarrollo,  shell,  o  lenguaje  de  programación:  Se debe  decidir si  realizar un  sistema  experto a medida, o utilizar un shell, una herramienta, o  un  lenguaje  de  programación.  Si  existiera   un  shell  que  satisfaga  todos  los 17
  • 18. requerimientos  del  diseño,  esta  deberá  ser  la  elección,  no  solo  por  razones  de  tipo financiero  sino  también  por  razones  de  fiabilidad.  Las  conchas  y  herramientas comerciales están sujetas a controles de calidad, a los que otros programas no lo están. ❖ Desarrollo  y   prueba   de  un  prototipo:  Si  el  prototipo no  pasa  las  pruebas  requeridas, las  etapas  anteriores (con las modificaciones apropiadas) deben ser repetidas hasta que se obtenga un prototipo satisfactorio. ❖ Refinamiento  y  generalización:   En  esta  etapa  se  corrigen  los  fallos  y   se  incluyen nuevas posibilidades no incorporadas en el diseño inicial. ❖ Mantenimiento  y  puesta  al  día:  En  esta  etapa  el usuario plantea problemas o defectos del prototipo, corrige errores, actualiza el producto con nuevos avances, etc. NOTA:  Todas  estas  etapas  influyen  en  la  calidad  del  sistema  experto  resultante,  que siempre debe ser evaluado en función de las aportaciones de los usuarios. 2.3. ¿Cómo programar un Sistema Experto?8 Para  desarrollar   y  programar  los  sistemas expertos  primero  es  necesario  (tal  y  como  se había   definido  en  el  capítulo  II)  abordar  un  área  de  interés,  dentro  de  esta  área  se seleccionan  a los  expertos,  que  son  los  especialistas  capaces de  resolver los problemas en  dicha   área.  Por  ejemplo,  el  área  de  interés  de  las  empresas  de  proyectos  de construcción,  son precisamente los  proyectos,  y  un  especialista  podría  ser  un arquitecto, un ingeniero civil, entre otros. Ahora  bien, casi  siempre estos  especialistas,  son  expertos  en  un dominio específico y es sobre   este  dominio,  donde  poseen  su  mayor  experiencia  (Dominio  de  Experticidad),  por ejemplo un Ing. civil que tenga especialidad en cimientos. Una   vez  seleccionado  al  experto  o  a  los  expertos,  y  estos  estén  de  acuerdo  en  dar  sus conocimientos,  comienza  a  jugar  su  papel  el  “Ingeniero  de  Conocimientos”,  que  es  el encargado  de  extraer  los  conocimientos  al  experto  y  darle  una  representación  adecuada, ya  sea  en  forma  de  reglas  u  otro  tipo  de  representación,  conformando  así  la  base  de conocimientos del sistema experto. Formas de representación de los conocimientos: 8  Alejandro Madruga. Soy un cibernético, «¿Que es un sistema experto?». http://cibernetica.wordpress.com/2007/03/09/%c2%bfque­es­un­sistema­experto/. (accedido enero 18, 2014) 18
  • 19. ➢ Reglas de producción. ➢ Redes semánticas. ➢ Marcos (Frames). La  forma  de  representación  más  usada  es  por  reglas   de  producción,  también  llamadas reglas  de   inferencias.  Casi  todos  los  sistemas  expertos  están   basados  en  este  tipo  de representación, ahora nos ocuparemos de los sistemas basados en reglas. Las reglas de producción son del tipo: SI Premisa ENTONCES Conclusión (SI A ENTONCES B). Donde  tanto  las  premisas  como  la  conclusión,  no  son  más  que  una  cadena  de  hechos conectados por “Y” o por “O”, de forma general sería: SI Hecho1 Y/O Hecho2 Y/O… HechoN ENTONCES Hecho1 Y/O … HechoN Los  hechos son  afirmaciones  que  sirven  para  representar  conceptos,  datos,  objetos, etc; y el conjunto de hechos que describen el problema es la base de hechos. Según  el  lenguaje  de  programación  Prolog  (recomendable  para  programar  SE),  estas reglas son del tipo: Si H1 y H2 y H3,… entonces Hc De  dónde,  llegaremos  hasta  “Hc”  (Hecho  de  Conclusión),  siempre  y  cuando  se cumpla todos los demás hechos (H). Por lo que, tendríamos que: Hc si H1 y H2 y H3 y… Y finalmente, llegamos a la siguiente sintaxis: Hc:­ H1, H2, H3,… Donde los hechos son un conjunto de predicados que deben cumplirse. Ejemplo: Regla #1: Si X>3 y Y=5 entonces Z =3 y A<5. En  caso  que  X  no  sea  mayor que  3  la  regla  falla  y  se  buscará  otra  regla. En este 19
  • 20. caso  debe  cumplirse  ambas  condiciones  (para  la  X  y  la  Y).  En  tanto,  la  regla  se cumpla, entonces se ejecutará la acción para Z y A. Por  lo  tanto,   los  hechos  son  afirmaciones  que  se  refieren  a  los  conceptos  (clases  y objetos) y a las relaciones (atributos) entre ellos. Ahora,  veamos  como  es  que  se  representan  estos  hechos  en  diferentes  aplicaciones  de la IA: ❖ MYCIN (software) Sistema  Experto  desarrollado  a  principios  de  los  años   70  por  Edgar  ShortLiffe,  en  la Universidad  de  Stanford.  Fue  escrito  en  Lisp,  y  su  función  principal  consistía  en  el diagnóstico  de  enfermedades  infecciosas  de  la  sangre;  además,  MYCIN  era  capaz  de "razonar"   el  proceso   seguido  para  llegar  a  estos  diagnósticos,   y  recetar  medicaciones personalizadas a cada paciente (según su estatura, peso, etc.) Ejemplo de cómo clasificaba este software una entrada: ❖ DENDRAL (software) Sistema  Experto  desarrollado  a  mediados de los años 60 por Edward Feigenbaum, en la Universidad  de  Stanford.  Inicialmente  escrito  en  Lisp,  fue  el  primer  sistema  experto  en ser  utilizado  para  propósitos  reales,  en  investigaciones  sobre  estructuras  moleculares; usados por químicos y biólogos. Ejemplo de cómo clasificaba este software una entrada: ❖ PROLOG (Shell) 20
  • 21. Proveniente  del  francés  PROgrammation  en  LOGique.  Este  es  un  lenguaje  de programación  que  utiliza  un  paradigma  lógico  y  declarativos,  y  que  se  centra alrededor de  un  conjunto  pequeño  de  mecanismos,   incluyendo  reconocimiento  de  patrones, estructura  de  datos  basadas  en  árboles  y  backtraking  (retroceso)  automático.  Es  ideal para  resolver  problemas  que  involucren  objetos  estructurados  y  las  relaciones  entre ellos. Ejemplo: ❖ EXSYS (software) Es un sistema experto basado en reglas con muchas mejoras, tales como Frames, Blackboards y el lenguaje de comandos de procedimiento (Procedural Command Language). Cláusulas como IF­THEN­ELSE que se utilizan para describir la lógica del sistema. Ejemplo: ❖ R1 (Shell) Este  software  permite  introducir  la  base de  conocimiento  sin preocuparse de programar los  otros   componentes  principales  del  sistema  (motor  de  inferencia  e  interfaz  de usuario). Sin embargo, se debe incluir factores de certeza. Ejemplo: 21
  • 22. NOTA:  Estos  lenguajes  descomponen,  claramente,  una  oración,  un  término,  un conocimiento;  en  palabras que, por medio  de hechos, un sistema experto logrará conjugar y arrojar un resultado. 2.4. Ejemplos de Reglas en los SE9 En relación a lo descrito anteriormente, se mostrará ejemplos prácticos de estas reglas. 2.4.1. Ejemplo 1, por definición de datos ­ Juan es un estudiante. ­ Juan tiene 8 años. ­ El perro es blanco. ­ A María le gusta el cine. ­ Pedro prefiere la película. ­ La edad de Luis es de 25 años. ­ Pedro tiene un salario de 200 soles. Para  resolver  este  ejemplo,  debemos  tener  en  cuenta  una  serie  de  reglas.  Las  cuales resultan  de  la  combinación  de  hechos,  los  cuales  permiten  representar  conocimientos  y sacar inferencias de los mismos. Por lo que, representando estos conocimientos en reglas, podríamos tener: Regla #1: SI Juan es estudiante Y Juan tiene 8 años Entonces Juan estudia en la primaria. Regla #2: SI el perro es blanco Y el perro se llama Dinky ENTONCES el perro es de Juan. Regla  #3:  SI  a  María  le  gusta  la  película  Y  Juan  prefiere  la pelota ENTONCES hacen falta los televisores. Observe  cómo  partiendo  de  hechos  conocidos,  que  describen  algún  conocimiento,  se pueden  inferir nuevos  hechos  (nuevos  conocimientos).  Por  otra  parte  la  regla #2, no tiene porque  ser   totalmente  cierta,  existe la  posibilidad  de  que  el perro no  sea  de  Juan;  quizás se  puede afirmar,  si  fuéramos  a  cuantificar  esa  posibilidad,  que el perro pertenece a Juan con  una  certeza  de  un  80%,  y  por  último  la  regla  #3  es  dependiente  del  contexto,  ya  que aquí  se  supone  que  ambos  (Juan  y  María)  viven  juntos  y  que  los  programas  de  TV 9  Alejandro Madruga. Soy un cibernético, «Conceptos básicos sobre sistemas expertos». http://cibernetica.wordpress.com/2012/12/04/conceptos­basicos­sobre­sistemas­expertos/. (accedido enero 18, 2014) 22
  • 23. coinciden. 2.4.2. Ejemplo 2, por definición de reglas Regla #1: Si tiene espina dorsal, Y tiene cola horizontal, Y tiene un agujero para respirar, Y tiene sangre caliente, Y los pequeños son alimentados con leche materna, Y los hijos nacen directamente vivos. Entonces es un cetáceo. Regla #2: Si es un cetáceo, Y mide más de 25 pies. Entonces es una ballena Regla #3: Si es un cetáceo, Y mide aproximadamente 6 pies, Y tiene la aleta tope vertical, Y tiene una nariz roma­pequeña, Y vive cerca de las costas. Entonces es una marsopa Regla #4: Si es un cetáceo, Y mide aproximadamente 6 pies, Y tiene la aleta tope vertical, Y tiene una nariz en forma de pico, Y vive en el mar. Entonces es un delfín. Regla #5: Si tiene espina dorsal, Y tiene una aleta vertical, Y respira a través de branquias, Entonces es un pez. Regla #6: Si es un pez, Y tiene la aleta tope triangular, Y tiene la boca debajo de la cabeza, Entonces es un tiburón. Observe, como  aquí, se definieron las reglas para los cetáceos y a partir de esta se definió 23
  • 24. al delfín, a la ballena, a la marsopa, etc. Igual sucedió para los peces. Entonces, de estos mencionados ejemplos, salta la siguiente interrogante: 2.4.3. ¿Cómo buscan los sistemas expertos? Habiendo  dado un  estado inicial, se van generando estados a través de la aplicación  de un conjunto  de  reglas,  las  cuales  al  aplicarse  originan  un  nuevo estado,  así  sucesivamente hasta alcanzar el estado final. Por  lo  que,  en  consecuencia,  habrá  un estado inicial y un estado final, que serán definidos como: 1. Una   base  de  hechos  en  la  cual  aparecerá   un  hecho  que  satisface  ciertas características. 2. Una   base  de  hechos  en  la  cual  habrán  desaparecido  todos  los  hechos  a establecer. 3. Una base de hechos tal que ninguna regla puede aportar una nueva modificación. Los  puntos  1 y  3  son comúnmente  adoptados  por  los  motores  de  encadenamiento  hacia delante, mientras el 2 es adoptado por motores con encadenamiento hacia atrás. 2.4.4. Ejemplo de búsqueda primero en profundidad Tomemos  el  ejemplo  de las  tinas, donde  se  parte  de  dos  tinas (recipientes para contener agua)  y  se  quiere  lograr  que  la  de  4  galones  tenga 2  galones. Las  tinas no tienes marcas que indiquen la cantidad de galones. Vamos  a  definir  algunas  reglas  de  forma  general,   considerando  las  siguientes restricciones: 1) “Si una tina se llenó hasta el tope, no llenar la otra”. 2) “Si una tina se acaba de llenar hasta el tope, no se puede botar”. Orden de las reglas: 24
  • 25. 1ro. Aplicar reglas para el criterio de solución. 2do. Aplicar reglas para llenar las tinas. 3ro. Aplicar reglas para vaciar de una para otra. 4to. Aplicar reglas para botar el contenido de una de ella. Criterio de solución: Regla #1: Si (la tina de 4) (tiene) (dos galones) entonces SOLUCIÓN. Regla #2: Si (la tina de 3) (tiene) (dos galones) y (la tina de  4) (esta vacia) entonces (vaciar el contenido) (para) (la tina de 4). Regla  #3:  Si  (la  tina  de  3)  (tiene)  (dos  galones)  y  (la  tina  de   4)  (no)   (esta  vacia) entonces (botar el contenido de) (la tina de 4). Veamos cómo se va efectuando la búsqueda paso a paso: Estado inicial: (0,0) ambas tinas vacias Estado 1: (0,0) ­> (0,4) Se llena una de las tinas (la de 4 galones). Estado 2: (0,4) ­> (3,1) Se vacía el contenido de la de 4 en la de 3 galones. Estado 3: (3,1) ­> (0,1) Se bota el contenido de la tina de 3 galones Estado 4: (0,1) ­> (1,0) Se vacía el contenido de la de 4 en la de 3 galones. Estado 5: (1,0) ­> (1,4) Se llena la tina de 4 galones. Estado 6: (1,4) ­> (3,2) Se vacía la tina de 4 en la de 3 galones Estado final (3,2) Se alcanza la solución al quedar 2 galones en la tina de 4 Este  ejemplo  ha  sido  desarrollado  en  HTML,  la  resolución  del  mismo  la pueden encontrar en  el  siguiente  enlace  (se  recomienda  guardar   el  archivo   como  *.html  y  ejecutar  en cualquier navegador): Ejemplo de Tinas desarrollado con SE 25
  • 26. CAPÍTULO III: Ventajas, desventajas y limitaciones de un                         Sistema Experto Hasta  aquí,   no  todo  es,  digamos:  “positivo”,  “beneficioso”;  en  los  sistemas  expertos. Puesto  que  estos,  así  como  tiene  una  gran ventaja en su uso, también tienen desventajas y limitaciones. Veamos: 3.1. Ventajas de un Sistema Experto10 Estos   programas  proporcionan  la  capacidad  de   trabajar  con  grandes  cantidades  de información,  que  son  uno  de  los  grandes  problemas  que  enfrenta  el  analista  humano que puede  afectar  negativamente  a  la  toma  de  decisiones  pues  el  analista  humano  puede depurar  datos  que  no  considere  relevantes,  mientras un SE debido a su gran velocidad de proceso  analiza  toda  la  información  incluyendo  las  no  útiles  para  de esta  manera  aportar una decisión más sólida. Entre otras ventajas, tenemos: a. Permanencia:   A  diferencia  de  un  experto  humano  un  SE  no  envejece,  y  por  tanto  no sufre pérdida de facultades con el paso del tiempo. b. Duplicación: Una vez programado un SE lo podemos duplicar infinidad de veces. c. Rapidez:  Un  SE  puede  obtener  información   de  una  base  de  datos  y  realizar  cálculos numéricos mucho más rápido que cualquier ser humano. d. Bajo  costo:  A  pesar de  que  el  costo  inicial  pueda  ser  elevado, gracias a la capacidad de duplicación el coste finalmente es bajo. e. Entornos  peligrosos: Un  SE  puede  trabajar  en  entornos  peligrosos  o dañinos para el ser humano. f. Fiabilidad:  Los  SE  no  se  ven  afectados  por  condiciones  externas,  un  humano  sí (cansancio, presión, etc.). g. Consolidar varios conocimientos. 10  Paul Peterson. PaulPeterson SlideShare, «Ventajas y Aplicación de los Sistemas Expertos». http://www.slideshare.net/PaulPeterson/ventajas­y­aplicacin­de­los­sistemas­expertos­474422. (accedido febrero 01, 2014) 26
  • 27. h. Apoyo  Académico.  Siempre  están  dispuestos  a  dar  explicaciones,  asistir o  enseñar  a la gente, así como a aprender. i. Están  disponibles  ininterrumpidamente  de  día  y  noche,  ofreciendo  siempre  su  máximo desempeño. j. Siempre  se  ajustan  a  las normas establecidas y son consistentes en su desempeño, no desarrollan apreciaciones subjetivas, tendenciosas, irracionales o emocionales. k. No padece de olvido, fatiga, dolor o comete errores de cálculo. l. No requiere un sueldo, promociones, seguros médicos, incapacidades. m. Y lo más importante, es que pueden tener una vida de servicio ilimitada. 3.2. Desventajas de un Sistema Experto11 a. Necesidad de adiestramiento para su manejo. b. Necesidad  de  aprender  el  lenguaje  de  programación  del  mismo  para  poder  usarlo adecuadamente.  Este  lenguajes  extremadamente   lógico  y  formal.  Con  un  ser  humano esto no ocurre. c. Sentido  Común:  Para  un  SE  nada  es  obvio, todo debe tener una connotación estructural ya  que  si  esto  no  se ejecuta de esa forma, sencillamente la data de respuesta no será la adecuada. d. Rigidez:  Un  SE  es  sumamente  rígido  a  la  hora  de  recibir  una  información,  debido  a  la estructura de su programación. 3.3. Limitaciones de un Sistema Experto a. Es   evidente  que  para  actualizar  se  necesita  de  reprogramación  de  estos  (tal  vez  este sea  una  de  sus  limitaciones  más  acentuadas)  otra  de  sus  limitaciones  puede  ser  el elevado   costo  en  dinero  y  tiempo,  además  que  estos  programas  son  poco  flexibles  a 11  Alejandro Tapia. Alejandro Tapia SlideShare, «Inteligencia artificial­y­sistemas­expertos». http://www.slideshare.net/Alejandrojpt/inteligencia­artificialysistemasexpertos. (accedido enero 16, 2014) 27
  • 28. cambios y de difícil acceso a información no estructurada. b. Debido   a  la  escasez  de  expertos  humanos   en  determinadas  áreas,  los  SE  pueden almacenar  su  conocimiento  para  cuando  sea  necesario  poder  aplicarlo.  Así  mismo  los SE  pueden  ser  utilizados  por  personas  no   especializadas  para  resolver  problemas. Además si una persona utiliza con frecuencia un SE aprenderá de él. c. Por  otra  parte  la  inteligencia  artificial  no  ha  podido  desarrollar  sistemas  que  sean capaces  de  resolver  problemas  de  manera  general,  de  aplicar  el  sentido  común  para resolver situaciones complejas ni de controlar situaciones ambiguas. d. El  futuro  de  los  SE  da  vueltas  por  la  cabeza  de  cada  persona,  siempre  que  el  campo elegido  tenga  la  necesidad  y/o  presencia  de  un  experto  para  la  obtención  de  cualquier tipo de beneficio. 28
  • 29. CONCLUSIONES Los  sistemas  expertos  son  desarrollos  de  la  investigación   en  el  campo  de  la  inteligencia artificial.  Un  sistema  experto  es  un  programa  de  computador   que   simula  la  forma  en  que  los expertos humanos solucionan problemas, es decir, es un tomador de decisiones artificial. Los  sistemas  expertos  son  herramientas  basadas  en  el  computador  que  están  diseñadas para que  operen  como  soportes  de  decisiones  inteligentes. Por ejemplo, se han construido sistemas expertos   para  ayudar  a  geólogos  a  decidir  dónde  perforar  para  obtener  petróleo;  a  banqueros, para  evaluar  solicitudes  de  préstamos;  a  técnicos  en ventas de computadores, en la manera  de configurar  sistemas  de  computadoras;  y  a  empleados,  a   decidir  entre  un  amplio  número  de alternativas de prestaciones de la compañía. Además,  llegamos  a  la  conclusión  de  que,  los  problemas  cuyas  soluciones  requieren  toma  de decisiones son buenos candidatos para el desarrollo de sistemas expertos. La  mayoría  de los  sistemas expertos están conformados por  varios  componentes, entre los que se  cuentan  la  base  de  conocimientos,  motor  de  inferencia  y  base  de  hechos.  Existe  una variedad   de  "shells"  o  editores  para  la  creación  de  bases  de  conocimiento  para  sistemas expertos,  que  es  parte  de  la  actividad  que  conlleva  al  pensamiento  crítico.  Considerando  que, para  la  construcción  de  la  base  de  conocimientos  requiere  que  el  programador  incorpore   el conocimiento causal. Y  por  último,  el   éxito  de  un  SE  depende  casi  exclusivamente  de  la  calidad  de  su  base  de conocimiento.  El  inconveniente  es  que  codificar  la  pericia  de  un  experto humano puede resultar difícil,  largo  y  laborioso.  Sin  embargo,  el  resultado,  puede  ayudar  significativamente  en  la  toma de decisiones en un determinado negocio. 29
  • 30. REFERENCIAS BIBLIOGRÁFICAS ❏ Buenas Tareas sitio web, «Base De Hechos Inteligencia Artificial ­ Ensayos de Colegas ­ Kibsal». http://www.buenastareas.com/ensayos/Base­De­Hechos­Inteligencia­Artificial/268014.ht ml. (accedido enero 31, 2014). ❏ Castillo, Enrique et al., eds., Sistemas Expertos y Modelos de Redes Probabilísticas. Universidad de Cantabria, Santander, España, 1998. ❏ Castro Marcel. «Sistemas Expertos». http://strix.ciens.ucv.ve/~iartific/Material/PP_Sistemas_Expertos.pdf. (accedido febrero 01, 2014). ❏ Criado B. José. «Introducción a los sistemas expertos». http://ingenieroseninformatica.org/recursos/tutoriales/sist_exp/cap1.php. (accedido enero 06, 2014). ❏ Editorial Paraninfo. Inteligencia artificial: modelos, técnicas y áreas de aplicación, 2003. http://books.google.com.pe/books?id=_spC6S7UfZgC (accedido enero 15, 2014). ❏ Madruga Alejandro. «Conceptos básicos sobre sistemas expertos». http://cibernetica.wordpress.com/2012/12/04/conceptos­basicos­sobre­sistemas­experto s/. (accedido enero 18, 2014). ❏ Madruga Alejandro. «¿Que es un sistema experto?». http://cibernetica.wordpress.com/2007/03/09/%c2%bfque­es­un­sistema­experto/. (accedido enero 18, 2014). ❏ Monografias sitio web, «Sistemas expertos (SE) ­ Monografias.com». http://www.monografias.com/trabajos16/sistemas­expertos/sistemas­expertos.shtml. (accedido enero 18, 2014). ❏ Monografias sitio web, «Sistema experto de inteligencia artificial ­ Monografias.com». http://www.monografias.com/trabajos96/sistema­experto­inteligencia­artificial/sistema­ex perto­inteligencia­artificial.shtml. (accedido enero 17, 2014). ❏ Peterson Paul. «Ventajas y Aplicación de los Sistemas Expertos». 30
  • 31. http://www.slideshare.net/PaulPeterson/ventajas­y­aplicacin­de­los­sistemas­expertos­4 74422. (accedido febrero 01, 2014). ❏ Quintanar Tomás. «Sistemas Expertos y sus Aplicaciones». http://www.uaeh.edu.mx/docencia/Tesis/icbi/licenciatura/documentos/Sistemas%20expe rtos%20y%20sus%20aplicaciones.pdf. (accedido febrero 12, 2014). ❏ Tapia Alejandro. «Inteligencia artificial­y­sistemas­expertos». http://www.slideshare.net/Alejandrojpt/inteligencia­artificialysistemasexpertos. (accedido enero 16, 2014). ❏ Universidad de Oviedo. Introducción a la inteligencia artificial: sistemas expertos, redes neuronales artificiales y computación evolutiva, 2001. http://books.google.com.pe/books?id=RKqLMCw3IUkC (accedido enero 15, 2014). 31