Você está na página 1de 31

FACULTAD DE INGENIERA ESCUELA DE INGENIERA DE SISTEMAS Y COMPUTACIN

SISTEMAS EXPERTOS: PROGRAMANDO LOS CONOCIMIENTOS DE UNA PERSONA


Autor: Jos Luis Quepuy Ternero

Curso: Metodologa del Trabajo Intelectual Profesor: Gerardo Ral Chunga Chinguel Semestre Lectivo: 2014-0
Chiclayo - Per Febrero, 2014

DEDICATORIA
El presente trabajo va dedicado al notable esfuerzo de mi madre, de mi to 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 an no culmina. A mis mgicas princesas que, con sus sonrisas, me devolvan el aliento para continuar. Y, en especial, a mi seorita enamorada: Paola, por los nimos y su apoyo siempre. A estos seres thanks so much.

RESUMEN

El objetivo de este trabajo es dar a conocer, mediante una precisa descripcin, lo que son los Sistemas Expertos (SE); los cuales son conocidos tambin como Sistemas Basados en Conocimiento. Pues, se basan en conocimientos propios que tiene un profesional en determinada rea. As mismo, mostrar brevemente los orgenes, conceptos, aplicaciones, ventajas, limitaciones, y la arquitectura bsica de este campo de la Inteligencia Artificial.

Como conclusin ms resaltante, los Sistemas Expertos son software inteligentes, pues almacenan los conocimientos de un experto humano para, posteriormente, usarlo en la solucin de un problema emergente.

Palabras clave: Sistemas Expertos, Base de Conocimientos, Base de Hechos, Motor de Inferencia, Inteligencia Artificial.

NDICE

DEDICATORIA AGRADECIMIENTO RESUMEN NDICE INTRODUCCIN CAPTULO I: Fundamentos sobre los Sistemas Expertos 1.1. Breve Historia de los Sistemas Expertos 1.2. Definicin de Sistema Experto 1.3. Clasificacin de Sistema Experto 1.4. Arquitectura de un Sistema Experto 1.5. Caractersticas propias de un Sistema Experto CAPTULO II: Implementacin y Ejemplos de un Sistema Experto 2.1. Aplicaciones de un Sistema Experto 2.2. Cmo desarrollar un Sistema Experto? 2.3. Cmo programar un Sistema Experto? 2.4. Ejemplos de Reglas en los SE 2.4.1. Ejemplo 1, por definicin de datos 2.4.2. Ejemplo 2, por definicin de reglas 2.4.3. Cmo buscan los sistemas expertos? 2.4.4. Ejemplo de bsqueda primero en profundidad

2 2 3 4 5 6 6 8 9 10 13 15 15 16 18 22 22 23 24 24 26 26

CAPTULO III: Ventajas, desventajas y limitaciones de un Sistema Experto 3.1. Ventajas de un Sistema Experto 3.2. Desventajas de un Sistema Experto 27 3.3. Limitaciones de un Sistema Experto 27 CONCLUSIONES REFERENCIAS BIBLIOGRFICAS

29 30

INTRODUCCIN
En la actualidad el cambiante mercado competitivo se vuelve ms complejo por la gran diversidad de informacin que las empresas se ven obligados a almacenar y analizar, razn 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 ms organizaciones, en las cuales se convierten en una importante estrategia de negocio. Este trabajo est organizado de la siguiente forma: En el primer captulo hablaremos brevemente sobre cmo, a lo largo de la historia, nace este trmino. Por lo que definiremos lo que es un sistema experto, cmo se clasifican, cul es su arquitectura y caractersticas ms resaltantes. El segundo captulo describe las aplicaciones en que se puede aprovechar un sistema experto, cmo desarrollar y cmo llegar a programarlos. Para este ltimo, se muestran sencillos ejemplos de aplicacin lgica y uno prctico. El tercer y ltimo captulo describe las ventajas, desventajas y limitaciones de todo Sistema Experto. Por otra parte es importante mencionar que, los denominados Sistemas Expertos, seguirn 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.

CAPTULO I: Fundamentos sobre los Sistemas Expertos


Durante aos la actividad de la Inteligencia Artificial estuvo dedicada a las investigaciones tericas y al desarrollo de experimentos a travs de programas que demostraran actitudes inteligentes, con estos programas se pretenda que una mquina de computadora jugar ajedrez, demostrara teoremas matemticos, genere probabilidades estadsticas, etc. No fue hasta los aos 70 en que surgi un nuevo paradigma en la Inteligencia Artificial los Sistemas Expertos, cuya funcin es desarrollar trabajos similares a los que desarrollara un especialista en un rea determinada, pero la idea no es sustituir a los expertos; sino, ms bien, que estos sistemas sirvan de apoyo a los especialistas en un dominio de aplicacin especfica.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 solucin de un problema; y que adems, pueden almacenar conocimientos de expertos para un campo determinado y solucionar un problema mediante deduccin lgica de conclusiones.2 Para un mejor entendimiento de lo que es un SE, se ha credo conveniente dar a conocer de manera muy resumida, el cmo se ha desarrollado esta nueva tecnologa a lo largo de la historia. Los Sistemas Expertos han evolucionado segn el orden siguiente: - A inicios de los aos 50 ya se hablaba de Mquinas (computadoras) con inteligencia propia, con la capacidad de aprender, razonar y actuar en determinadas situaciones. Es as como el matemtico britnico Alan Mathison Turing, despus de varios aos de estudios en este campo, public La Inteligencia y funcionamiento de las mquinas, en 1950, con el fin de demostrar hasta qu punto las mquinas contaban con inteligencia. Ese mismo ao, un notable matemtico estadounidense, Norbert Wiener, desarrollara el principio de la retroalimentacin. La cual es base fundamental de los sistemas de control.

1 1 2

Alejandro Madruga. Soy un ciberntico, Que es un sistema experto?. http://cibernetica.wordpress.com/2007/03/09/%c2%bfque-es-un-sistema-experto/. (accedido enero 18, 2014) Jos Criado Briz. Ingenieros en Informtica, Introduccin a los sistemas expertos. http://ingenieroseninformatica.org/recursos/tutoriales/sist_exp/cap1.php. (accedido enero 06, 2014)

- Aos ms adelante, en 1955, Newell y Simon desarrollan la Teora de la lgica. Cuyo desarrollo permiti crear un programa que exploraba la solucin a un problema, utilizando ramas y nudos, seleccionando nicamente las ramas que ms parecan acercarse a la solucin correcta del problema. - Luego, en 1956, un joven John McCarthy convocara a una conferencia en Dartmouth. En donde, este mismo personaje, acu all el trmino Inteligencia Artificial. A esta conferencia asistieron tambin Minsky, Newell y Simon; personajes quienes ms adelante aportaran con grandes conocimientos en esta nueva rea de la informtica. - En 1957, durante esta dcada los investigadores Alan Newell y Herbert Simon desarrollaron un programa llamado GPS (General Problem Solver; solucionador general de problemas), el cual poda trabajar con criptoaritmtica, con las torres de Hani y con otros problemas similares. Pero lo que no poda hacer el GPS era resolver problemas del mundo real, tales como un diagnstico mdico. - Posteriormente, en 1958, McCarthy anuncia su nuevo desarrollo, el lenguaje LISP (LISt Processing). El lenguaje de eleccin 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 aos ms tarde se construye DENDRAL, el cual es considerado como el primer SE. La funcin de dicho SE era identificar estructuras qumicas moleculares a partir del anlisis espectrogrfico. - 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 mdicos a diagnosticar enfermedades e informar a los mineros a encontrar vetas de mineral. - Luego, en 1972, aparece el lenguaje PROLOGUE basado en las teoras de Minsky. Orientado tambin al desarrollo de IA. - Finalmente, en 1987, Martin Fischles y Oscar Firschein describieron los atributos de un agente inteligente. Los cuales deban 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 ms simples. Entiende. Posee la capacidad de crearle sentido, si es posible, a ideas ambiguas o contradictorias. Planifica, predice consecuencias, evala alternativas (como en los juegos de ajedrez). Conoce los lmites 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 analogas. Puede generalizar. Puede percibir y modelar el mundo exterior. Puede entender y utilizar el lenguaje y sus smbolos. - En los 90, la IA se utilizara 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 ms 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 tecnologa emergente y en expansin. La cual posee caractersticas humanas, como el aprendizaje, la adaptacin, el razonamiento, la autocorreccin, el mejoramiento implcito, y la percepcin modular del mundo.

1.2. Definicin 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 aplicacin.

En la literatura existente se pueden encontrar muchas definiciones de sistema experto. Por ejemplo, Stevens (1984), pgina 40, nos da la definicin siguiente: Los sistemas expertos son mquinas que piensan y razonan como un experto lo hara en una cierta especialidad o campo. Por ejemplo, un sistema experto en diagnstico mdico requerira como datos los sntomas del paciente, los resultados de anlisis clnicos y otros hechos relevantes, y, utilizando estos, buscara en una base de datos la informacin 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 tambin 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 todava una definicin razonable de un sistema experto, han surgido desde entonces otras definiciones, debido al rpido desarrollo de la tecnologa. 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 informtico (hardware y software) que simula a los expertos humanos en un rea de especializacin dada. Como tal, un sistema experto debera ser capaz de procesar y memorizar informacin, 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 computacin basados en conocimientos cuyos componentes representan un enfoque cualitativo de la programacin. 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 separacin 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 Mquina) 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. Clasificacin de Sistema Experto


Principalmente los sistemas expertos, segn la naturaleza de problemas para los que estn diseados, pueden clasificarse en dos tipos: problemas esencialmente deterministas y problemas esencialmente estocsticos. Problemas de tipo determinista, son aquellos sistemas completamente predictivos, 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 basndose en un conjunto de reglas utilizando
3 3 4

Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilsticas (Universidad de Cantabria, Santander, Espaa, 1998), 3 - 4. Alejandro Madruga. Soy un ciberntico, Que es un sistema experto?. http://cibernetica.wordpress.com/2007/03/09/%c2%bfque-es-un-sistema-experto/. (accedido enero 18, 2014)

un mecanismo de razonamiento lgico. 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 estocsticos, 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 estocstico opera utilizando mtodos probabilsticos para solucionar problemas, como el algoritmo de enfriamiento simulado, las redes neuronales estocsticas, la optimizacin estocstica, los algoritmos genticos y la programacin gentica. Un problema puede ser estocstico por s mismo, por el solo hecho de planificar bajo incertidumbre. Ejemplo: Sistemas Expertos usados en el campo mdico, ya que las relaciones entre sntomas y enfermedades se conocen solo con un cierto grado de certeza; puesto que, la presencia de un conjunto de sntomas 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 esquemticamente en la siguiente imagen, y se explican a continuacin:

Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilsticas (Universidad de Cantabria, Santander, Espaa, 1998), 10 - 14.

10

Fuente: Conceptos bsicos sobre sistemas expertos - Componentes de un SE

A. El Experto y/o Componente Humana Un sistema experto es generalmente el resultado de la colaboracin de uno o varios expertos humanos especialistas en el tema de estudio y los ingenieros del conocimiento (programadores). Los expertos humanos suministran el conocimiento bsico en el tema de inters, y los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender. Esta etapa requiere una enorme dedicacin 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 informacin relacionada con una aplicacin particular. Por ejemplo, en diagnstico mdico, los sntomas, las enfermedades y las relaciones entre ellos, forman parte del conocimiento, mientras los sntomas particulares de un paciente dado forman parte de los datos. Mientras el conocimiento es permanente, los datos son efmeros, es decir, no forman parte de la componente permanente de un sistema y son

11

destruidos despus 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 carcter transitorio se almacenan tambin en la memoria de trabajo.

C. Motor de Inferencia El motor de inferencia es el corazn de todo sistema experto. El cometido principal de esta componente es el de sacar conclusiones aplicando el conocimiento a los datos. Por ejemplo, en diagnstico mdico, los sntomas de un paciente (datos) son analizados a la luz de los sntomas, y las enfermedades y de sus relaciones (conocimiento). Las conclusiones del motor de inferencia pueden estar basadas en conocimiento determinista o conocimiento probabilstico. Como puede esperarse, el tratamiento de situaciones de incertidumbre (probabilsticas) puede ser considerablemente ms difcil que el tratamiento de situaciones ciertas (deterministas). En muchos casos, algunos hechos (datos) no se conocen con absoluta certeza. Por ejemplo, pinsese en un paciente que no est seguro de sus sntomas. Puede darse el caso de tener que trabajar solo con conocimiento de tipo no determinista, es decir, de casos en los que se dispone slo de informacin aleatoria o difusa. El motor de inferencia es tambin responsable de la propagacin de este conocimiento incierto. De hecho, en los sistemas expertos basados en probabilidad, la propagacin 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 ms dbil 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 desempear 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 sesin de trabajo o para llevar a cabo la descripcin del comportamiento del propio sistema experto. Al principio del perodo 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.

E. Interfaz de Usuario

12

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 informacin de forma fcil y agradable. Un ejemplo de la informacin 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 explicacin 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 informacin, la interfaz de usuario es un vehculo para obtener la informacin necesaria del usuario. Consecuentemente, una implementacin inadecuada de la interfaz de usuario que no facilite este proceso minara notablemente la calidad de un sistema experto. Otra razn de la importancia de la interfaz de usuario es que los usuarios evalan comnmente los sistemas expertos y otros sistemas por la calidad de dicha interfaz ms 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. Caractersticas propias de un Sistema Experto


Una de las principales caractersticas de un sistema experto es su capacidad para aprender. Este aprendizaje se divide en aprendizaje estructural y aprendizaje paramtrico. 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 sntomas relevantes para una enfermedad o la inclusin de una nueva regla en la base de conocimiento son ejemplos de aprendizaje estructural. Por aprendizaje paramtrico nos referimos a estimar los parmetros necesarios para construir la base de conocimiento. Por ello, la estimacin de frecuencias o probabilidades asociadas a sntomas o enfermedades es un ejemplo de aprendizaje paramtrico. 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 adquisicin 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: Adquisicin de conocimiento y la verificacin de su coherencia; por lo que el sistema experto puede ayudar a los expertos humanos a dar conocimiento coherente.

13

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

CAPTULO II: Implementacin y Ejemplos de un Sistema Experto


Para poder implementar Sistemas Expertos (SE), es necesario saber cmo desarrollar un SE, qu etapas seguir y cmo programar un SE. En este captulo 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 informtica, electrnica, educacin, agricultura, militar, transporte, etc.; sin embargo, sus principales aplicaciones se dan en las gestiones empresariales.. En esta seccin 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 transaccin bancaria, tal como depositar o sacar dinero de una cuenta, uno tena que visitar el banco en horas de oficina. Hoy en da, esas y otras muchas transacciones pueden realizarse en cualquier momento del da o de la noche usando los cajeros automticos que son ejemplos sencillos de sistemas expertos. De hecho, se pueden realizar estas transacciones desde casa comunicndose con el sistema experto mediante la lnea telefnica o el internet. Ejemplo 2, control de trfico: El control de trfico es una de las aplicaciones ms importantes de los sistemas expertos. No hace mucho tiempo, el flujo de trfico en las calles de una ciudad se controlaba mediante guardias de trfico que controlaban el mismo en las intersecciones. Hoy se utilizan sistemas expertos que operan automticamente los semforos y regulan el flujo del trfico en las calles de una ciudad y en los ferrocarriles. Ejemplo 3, gestiones empresariales: En donde un SE realizar las funciones bsicas de tratamiento de la informacin, para: contabilidad general, ayudar en la toma de decisiones financieras, gestin de la tesorera, planificacin, etc. La ventaja es que un SE puede llegar a manejar grandes volmenes de informacin y realizar operaciones numricas rapidsimas. Ejemplo 4, problemas de planificacin: Los sistemas expertos pueden utilizarse tambin para resolver problemas complicados de planificacin de forma que se optimicen ciertos objetivos como, por ejemplo, la organizacin y asignacin de aulas
6

Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilsticas (Universidad de Cantabria, Santander, Espaa, 1998), 4.

15

para la realizacin de exmenes finales en una gran universidad, de forma tal que se logren los objetivos siguientes: Eliminar las coincidencias de asignacin simultnea 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 nmero de alumnos que tienen exmenes coincidentes. Eliminar la sobrecarga de trabajo: Ningn alumno debe tener ms de dos exmenes en un periodo de 24 horas. Minimizar el nmero de exmenes realizados durante las tardes.

Adems los SE tambin se aplican en la contabilidad en apartados como: Auditora, Fiscalidad, planificacin, anlisis financiero y la contabilidad financiera.

2.2. Cmo desarrollar un Sistema Experto?7 Al igual que para desarrollar un sistema de informacin convencional existen varias metodologas de desarrollo como la Ingeniera de la Informacin, tendencias estructuradas y orientadas a objetos; as existen varias metodologas para desarrollar un sistema experto. Metodologas como las de Buchanan, Grover, Brule, Blanque y Garca Martnez, KADS; entre otras. Sin embargo, Weiss y Kulikowski (1984) sugieren las etapas siguientes para el diseo e implementacin de un sistema experto:

Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilsticas (Universidad de Cantabria, Santander, Espaa, 1998), 15 - 16.

16

Fuente: Sistemas Expertos y Modelos de Redes Probabilsticas (Pg. 15)

Describiendo las etapas de la imagen, tenemos: Planteamiento del problema: La primera etapa en cualquier proyecto es normalmente la definicin del problema a resolver. Puesto que el objetivo principal de un sistema experto es responder a preguntas y resolver problemas, esta etapa es quizs la ms importante en el desarrollo de un sistema experto. Si el sistema est mal definido, se espera que el sistema suministre respuestas errneas. Encontrar expertos humanos que puedan resolver el problema. En algunos casos, sin embargo, las bases de datos pueden jugar el papel del experto humano. Diseo de un sistema experto: Esta etapa incluye el diseo de estructuras para almacenar el conocimiento, el motor de inferencia, el subsistema de explicacin, la interfaz de usuario, etc. Eleccin de la herramienta de desarrollo, shell, o lenguaje de programacin: Se debe decidir si realizar un sistema experto a medida, o utilizar un shell, una herramienta, o un lenguaje de programacin. Si existiera un shell que satisfaga todos los requerimientos del diseo, esta deber ser la eleccin, no solo por razones de tipo

17

financiero sino tambin por razones de fiabilidad. Las conchas y herramientas comerciales estn sujetas a controles de calidad, a los que otros programas no lo estn. 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 generalizacin: En esta etapa se corrigen los fallos y se incluyen nuevas posibilidades no incorporadas en el diseo inicial. Mantenimiento y puesta al da: 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 funcin de las aportaciones de los usuarios.

2.3. Cmo programar un Sistema Experto?8 Para desarrollar y programar los sistemas expertos primero es necesario (tal y como se haba definido en el captulo II) abordar un rea de inters, 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 inters de las empresas de proyectos de construccin, son precisamente los proyectos, y un especialista podra ser un arquitecto, un ingeniero civil, entre otros. Ahora bien, casi siempre estos especialistas, son expertos en un dominio especfico 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 estn 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 representacin adecuada, ya sea en forma de reglas u otro tipo de representacin, conformando as la base de conocimientos del sistema experto. Formas de representacin de los conocimientos: Reglas de produccin.
8

Alejandro Madruga. Soy un ciberntico, Que es un sistema experto?. http://cibernetica.wordpress.com/2007/03/09/%c2%bfque-es-un-sistema-experto/. (accedido enero 18, 2014)

18

Redes semnticas. Marcos (Frames).

La forma de representacin ms usada es por reglas de produccin, tambin llamadas reglas de inferencias. Casi todos los sistemas expertos estn basados en este tipo de representacin, ahora nos ocuparemos de los sistemas basados en reglas. Las reglas de produccin son del tipo: SI Premisa ENTONCES Conclusin (SI A ENTONCES B). Donde tanto las premisas como la conclusin, no son ms que una cadena de hechos conectados por Y o por O, de forma general sera: 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. Segn el lenguaje de programacin Prolog (recomendable para programar SE), estas reglas son del tipo: Si H1 y H2 y H3, entonces Hc De dnde, llegaremos hasta Hc (Hecho de Conclusin), siempre y cuando se cumpla todos los dems hechos (H). Por lo que, tendramos 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 caso debe cumplirse ambas condiciones (para la X y la Y). En tanto, la regla se cumpla, entonces se ejecutar la accin para Z y A.

19

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 aos 70 por Edgar ShortLiffe, en la Universidad de Stanford. Fue escrito en Lisp, y su funcin principal consista en el diagnstico de enfermedades infecciosas de la sangre; adems, MYCIN era capaz de "razonar" el proceso seguido para llegar a estos diagnsticos, y recetar medicaciones personalizadas a cada paciente (segn su estatura, peso, etc.) Ejemplo de cmo clasificaba este software una entrada:

DENDRAL (software) Sistema Experto desarrollado a mediados de los aos 60 por Edward Feigenbaum, en la Universidad de Stanford. Inicialmente escrito en Lisp, fue el primer sistema experto en ser utilizado para propsitos reales, en investigaciones sobre estructuras moleculares; usados por qumicos y bilogos. Ejemplo de cmo clasificaba este software una entrada:

PROLOG (Shell) Proveniente del francs PROgrammation en LOGique. Este es un lenguaje de programacin que utiliza un paradigma lgico y declarativos, y que se centra alrededor de un conjunto pequeo de mecanismos, incluyendo reconocimiento de patrones, estructura de datos basadas en rboles y backtraking (retroceso) automtico. Es ideal

20

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). Clusulas como IF-THEN-ELSE que se utilizan para describir la lgica 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:

NOTA: Estos lenguajes descomponen, claramente, una oracin, un trmino, un conocimiento; en palabras que, por medio de hechos, un sistema experto lograr conjugar y arrojar un resultado.

21

2.4. Ejemplos de Reglas en los SE9


En relacin a lo descrito anteriormente, se mostrar ejemplos prcticos de estas reglas.

2.4.1. Ejemplo 1, por definicin de datos

- Juan es un estudiante. - Juan tiene 8 aos. - El perro es blanco. - A Mara le gusta el cine. - Pedro prefiere la pelcula. - La edad de Luis es de 25 aos. - Pedro tiene un salario de 200 soles. Para resolver este ejemplo, debemos tener en cuenta una serie de reglas. Las cuales resultan de la combinacin de hechos, los cuales permiten representar conocimientos y sacar inferencias de los mismos. Por lo que, representando estos conocimientos en reglas, podramos tener: Regla #1: SI Juan es estudiante Y Juan tiene 8 aos 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 Mara le gusta la pelcula Y Juan prefiere la pelota ENTONCES hacen falta los televisores. Observe cmo partiendo de hechos conocidos, que describen algn 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; quizs se puede afirmar, si furamos 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 Mara) viven juntos y que los programas de TV coinciden.

2.4.2. Ejemplo 2, por definicin de reglas

Alejandro Madruga. Soy un ciberntico, Conceptos bsicos sobre sistemas expertos. http://cibernetica.wordpress.com/2012/12/04/conceptos-basicos-sobre-sistemas-expertos/. (accedido enero 18, 2014)

22

Regla #1: Si tiene espina dorsal, Y tiene cola horizontal, Y tiene un agujero para respirar, Y tiene sangre caliente, Y los pequeos son alimentados con leche materna, Y los hijos nacen directamente vivos. Entonces es un cetceo. Regla #2: Si es un cetceo, Y mide ms de 25 pies. Entonces es una ballena Regla #3: Si es un cetceo, Y mide aproximadamente 6 pies, Y tiene la aleta tope vertical, Y tiene una nariz roma-pequea, Y vive cerca de las costas. Entonces es una marsopa Regla #4: Si es un cetceo, 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 delfn. Regla #5: Si tiene espina dorsal, Y tiene una aleta vertical, Y respira a travs 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 tiburn. Observe, como aqu, se definieron las reglas para los cetceos y a partir de esta se defini al delfn, a la ballena, a la marsopa, etc. Igual sucedi para los peces.

Entonces, de estos mencionados ejemplos, salta la siguiente interrogante:

2.4.3. Cmo buscan los sistemas expertos?

23

Habiendo dado un estado inicial, se van generando estados a travs de la aplicacin 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 sern definidos como: 1. Una base de hechos en la cual aparecer un hecho que satisface ciertas caractersticas. Una base de hechos en la cual habrn desaparecido todos los hechos a establecer. Una base de hechos tal que ninguna regla puede aportar una nueva modificacin.

2.

3.

Los puntos 1 y 3 son comnmente adoptados por los motores de encadenamiento hacia delante, mientras el 2 es adoptado por motores con encadenamiento hacia atrs.

2.4.4. Ejemplo de bsqueda 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: 1ro. Aplicar reglas para el criterio de solucin. 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 solucin:

24

Regla #1: Si (la tina de 4) (tiene) (dos galones) entonces SOLUCIN. 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 cmo se va efectuando la bsqueda 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 vaca 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 vaca 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 vaca la tina de 4 en la de 3 galones Estado final (3,2) Se alcanza la solucin al quedar 2 galones en la tina de 4 Este ejemplo ha sido desarrollado en HTML, la resolucin 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

CAPTULO

III: Ventajas, desventajas Sistema Experto

limitaciones

de

un

Hasta aqu, no todo es, digamos: positivo, beneficioso; en los sistemas expertos. Puesto que estos, as como tiene una gran ventaja en su uso, tambin tienen desventajas y limitaciones. Veamos:

3.1. Ventajas de un Sistema Experto10


Estos programas proporcionan la capacidad de trabajar con grandes cantidades de informacin, 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 informacin incluyendo las no tiles para de esta manera aportar una decisin ms slida. Entre otras ventajas, tenemos: a. Permanencia: A diferencia de un experto humano un SE no envejece, y por tanto no sufre prdida de facultades con el paso del tiempo. b. Duplicacin: Una vez programado un SE lo podemos duplicar infinidad de veces. c. Rapidez: Un SE puede obtener informacin de una base de datos y realizar clculos numricos mucho ms rpido que cualquier ser humano. d. Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la capacidad de duplicacin el coste finalmente es bajo. e. Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dainos para el ser humano. f. Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano s (cansancio, presin, etc.).

g. Consolidar varios conocimientos.

10

Paul Peterson. PaulPeterson SlideShare, Ventajas y Aplicacin de los Sistemas Expertos. http://www.slideshare.net/PaulPeterson/ventajas-y-aplicacin-de-los-sistemas-expertos-474422. (accedido febrero 01, 2014)

26

h. Apoyo Acadmico. Siempre estn dispuestos a dar explicaciones, asistir o ensear a la gente, as como a aprender. i. Estn disponibles ininterrumpidamente de da y noche, ofreciendo siempre su mximo desempeo. Siempre se ajustan a las normas establecidas y son consistentes en su desempeo, no desarrollan apreciaciones subjetivas, tendenciosas, irracionales o emocionales.

j.

k. No padece de olvido, fatiga, dolor o comete errores de clculo. l. No requiere un sueldo, promociones, seguros mdicos, incapacidades.

m. Y lo ms 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 programacin del mismo para poder usarlo adecuadamente. Este lenguajes extremadamente lgico y formal. Con un ser humano esto no ocurre. c. Sentido Comn: Para un SE nada es obvio, todo debe tener una connotacin 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 rgido a la hora de recibir una informacin, debido a la estructura de su programacin.

3.3. Limitaciones de un Sistema Experto


a. Es evidente que para actualizar se necesita de reprogramacin de estos (tal vez este sea una de sus limitaciones ms acentuadas) otra de sus limitaciones puede ser el elevado costo en dinero y tiempo, adems que estos programas son poco flexibles a cambios y de difcil acceso a informacin no estructurada.

11

Alejandro Tapia. Alejandro Tapia SlideShare, Inteligencia artificial-y-sistemas-expertos. http://www.slideshare.net/Alejandrojpt/inteligencia-artificialysistemasexpertos. (accedido enero 16, 2014)

27

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. Adems 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 comn 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 obtencin de cualquier tipo de beneficio.

28

CONCLUSIONES
Los sistemas expertos son desarrollos de la investigacin 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 estn diseadas para que operen como soportes de decisiones inteligentes. Por ejemplo, se han construido sistemas expertos para ayudar a gelogos a decidir dnde perforar para obtener petrleo; a banqueros, para evaluar solicitudes de prstamos; a tcnicos en ventas de computadores, en la manera de configurar sistemas de computadoras; y a empleados, a decidir entre un amplio nmero de alternativas de prestaciones de la compaa. Adems, llegamos a la conclusin de que, los problemas cuyas soluciones requieren toma de decisiones son buenos candidatos para el desarrollo de sistemas expertos. La mayora de los sistemas expertos estn 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 creacin de bases de conocimiento para sistemas expertos, que es parte de la actividad que conlleva al pensamiento crtico. Considerando que, para la construccin 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 difcil, largo y laborioso. Sin embargo, el resultado, puede ayudar significativamente en la toma de decisiones en un determinado negocio.

29

REFERENCIAS BIBLIOGRFICAS

Buenas Tareas sitio web, Base De Hechos Inteligencia Artificial - Ensayos de Colegas Kibsal. http://www.buenastareas.com/ensayos/Base-De-Hechos-InteligenciaArtificial/268014.html. (accedido enero 31, 2014). Castillo, Enrique et al., eds., Sistemas Expertos y Modelos de Redes Probabilsticas. Universidad de Cantabria, Santander, Espaa, 1998. Castro Marcel. Sistemas Expertos. http://strix.ciens.ucv.ve/~iartific/Material/PP_Sistemas_Expertos.pdf. (accedido febrero 01, 2014). Criado B. Jos. Introduccin a los sistemas expertos. http://ingenieroseninformatica.org/recursos/tutoriales/sist_exp/cap1.php. (accedido enero 06, 2014). Editorial Paraninfo. Inteligencia artificial: modelos, tcnicas y reas de aplicacin, 2003. http://books.google.com.pe/books?id=_spC6S7UfZgC (accedido enero 15, 2014). Madruga Alejandro. Conceptos bsicos sobre sistemas expertos. http://cibernetica.wordpress.com/2012/12/04/conceptos-basicos-sobre-sistemasexpertos/. (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/sistemaexperto-inteligencia-artificial.shtml. (accedido enero 17, 2014).

Peterson Paul. Ventajas y Aplicacin de los Sistemas Expertos. http://www.slideshare.net/PaulPeterson/ventajas-y-aplicacin-de-los-sistemas-expertos-

30

474422. (accedido febrero 01, 2014). Quintanar Toms. Sistemas Expertos y sus Aplicaciones. http://www.uaeh.edu.mx/docencia/Tesis/icbi/licenciatura/documentos/Sistemas%20exper tos%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. Introduccin a la inteligencia artificial: sistemas expertos, redes neuronales artificiales y computacin evolutiva, 2001. http://books.google.com.pe/books?id=RKqLMCw3IUkC (accedido enero 15, 2014).

31

Você também pode gostar