Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
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.
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.
Enrique Castillo, y otros, eds., Sistemas Expertos y Modelos de Redes Probabilsticas (Universidad de Cantabria, Santander, Espaa, 1998), 10 - 14.
10
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.
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
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
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
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
- 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.
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.
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.
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
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:
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.
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).
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