sistemas expertos.pdf

89 

Loading.... (view fulltext now)

Loading....

Loading....

Loading....

Loading....

Texto completo

(1)

SISTEMAS EXPERTOS

JOHN ALERJANDRO FIGUEREDO LUNA

UNIVERSIDAD NACIONAL ABIERTA Y A

DISTANCIA – UNAD – 2.005

(2)

SISTEMAS EXPERTOS

JOHN ALEJANDRO FIGUEREDO LUNA

UNIVERSIDAD NACIONAL ABIERTA Y A

DISTANCIA – UNAD

FACULTAD DE CIENCIAS BASICAS E INGENIERIA

PROGRAMA DE INGENIERIA DE SISTEMAS

(3)

CONTENIDO

UNIDAD 1. VISION GENERAL DE LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS

CAPITULO 1. INTRODUCCIÓN A LOS CONCEPTOS BÁSICOS DE LA IA

1. INTRODUCCIÓN 1

1.1 La base de la inteligencia artificial 1

1.2 ¿Pueden pensar las máquinas? 1

1.3 Los fines de la IA 2

1.4 Historia Y Evolución De La Inteligencia Artificial 2

1.5. Características De La Inteligencia Artificial 3

1.5.1 Programa fijo y programa modificado por el procesamiento 4 1.6. Funcionamiento Básico De La Inteligencia Artificial 5

1.6.1 Símbolos vs. Métodos Numéricos 6

1.6.2 Alfabeto del Lenguaje de la Lógica de Primer Orden 6

1.7 Principales Ramas De La Inteligencia Artificial 9

1.7.1 Sistemas Expertos 9

1.7.2 Robótica 9

1.7.3 Sistemas De Visión 9

1.7.4 Procesamiento De Lenguaje Natural 10

1.7.5 Sistemas De Aprendizaje 10

1.7.6 Redes Neuronales 11

1.8 ACTIVIDADES COMPLEMENTARIAS 11

CAPITULO 2. VISION GENERAL DE LOS SISTEMAS EXPERTOS

2.1 Introducción 12

2.2. Historia De Los Sistemas Expertos 12

2.3 ¿Que Es Un Sistema Experto? 13

2.3.1 Características de un Sistema Experto 14

2.4 ¿Cuáles son las ventajas de un sistema experto? 15

2.5 Los expertos Humanos 16

2.6 Diferencias entre un experto y un no experto humano 17

2.7 Diferencias entre un SE y un programa tradicional 17

2.8 Diferencias entre un sistema experto y un experto humano 17

2.9 Ventajas de los sistemas expertos 18

2.10 Forma en que los usuarios interactúan con los SE 18

2.11 Sistema experto VS. Sistema clásico 19

2.12 Futuro de los Sistemas Expertos 20

2.13 ACTIVIDADES COMPLEMETARIAS 21

UNIDAD 2. DESARROLLO Y USO DE LOS SISTEMAS EXPERTOS CAPTULO 3. USO DE LOS SISTEMAS EXPERTOS

(4)

3.1 Introducción 21

3.2 Uso de los sistemas Expertos 22

3. 2.1 Interpretación, diagnóstico y monitoreo 22

3.2.2 Diseño y selección 23

3.2.3 Planificación 24

3.2.4 Control 24

3.2.5 Reparación, corrección o terapia 25

3.2.6 Simulación, pronóstico o predicción 25

3.2.7 Instrucción 26

3.2.8 Recuperación de Información 26

3.3. Elementos de una Sistema Experto 26

3.3.1. Base de Conocimientos 29

3.3.2 El Mecanismo de Inferencia 29

3.3.3 El componente explicativo 31

3.3.4 La interfaz del usuario 32

3.3.5 El componente de adquisición 34

3.3.6 ACTIVIDADES COMPLEMENTARIAS 35

CAPITULO 4. PROCESO DE DESARROLLO DE UN SISTEMA EXPERTO

4. Introducción 36

4.1 Aspectos Generales 36

4.1.1 El Equipo de Desarrollo 36

4.1.2 Construcción de las principales partes de un SE 37

4.1.2.1 La base de conocimiento 38

4.1.2.2 Cinco Pasos en la Construcción de una Base de Conocimientos 39 4.1.2.3 Proceso Lógico de Carga de la Base de Conocimiento 40

4.1.3 El motor de inferencia 41

4.1.3.1 Método de encadenamiento hacia delante 42

4.1.3.2. Método de encadenamiento hacia atrás. 42

4.1.3.3 Método de reglas de producción 43

4.1.4 Construcción del Mecanismo de Inferencia 43

4.1.4.1 El mecanismo de inferencia 43

4.1.4.2 Motor de Inferencia. 43

4.1.4.3 Identificación de patrones. 44

4.1.4.4. Ejecución de las reglas. 45

4.1.4.5. La fase de restricción. 45

4.1.4.6 La fase de selección. 46

4.1.4.7 Ejemplo de Funcionamiento del Motor de Inferencia 47 4.1.5 Estructura de los Sistemas Basados en Conocimiento. 50

4.1.5.1 Fases en la adquisición del conocimiento 52

4.1.5.2 Tecnología de los Sistemas Basados en Conocimiento 52

4.2 Metodologías para la construcción de SE 53

4.2.1 Metodología de Prototipos 53

4.2.2 Metodología Orientada a Objetos 53

(5)

CAPITULO 5. EJEMPLOS DE SISTEMAS EXPERTOS 56

5.1 Lenguajes utilizados en la construcción de SE 56

5.1.1 LISP 56

5.1.2 CLIPS 57

5.1.3 Prolog 57

5.1.4 Smalltalk 58

5.1.5. C y C++ 59

5.2 Representación del conocimiento 59

5.3. Lógica Proposicional 61

5.4 Lógica de Predicados 61

5.5. Ventajas y desventajas de la lógica de predicados 61

5.6. Reglas de Producción 62

5.7. Ventajas y desventajas de las reglas de producción 62

5.8. Redes Asociativas 63

5.8.1. Ventajas y desventajas de las Redes Asociativas 63

5.9 Estructuras frame 64

5.9.1. Ventajas y desventajas de los frames 64

5.9.2. Representación orientada a objetos 65

5.9.3 Ventajas y desventajas de la representación orientada a objetos 66

5.10 ACTIVIDADES COMPLEMETARIAS 66

CAPITULO 6. TAREAS QUE REALIZAN LOS SISTEMAS EXPERTOS

6.1 Interpretación, diagnóstico y monitoreo 67

6.2 Diseño y selección 68

6.3 Planificación 69

6.4 Control 69

6.5 Reparación, corrección o terapia 69

6.6 Simulación, pronóstico o predicción 70

6.7 Instrucción 71

6.8 Recuperación de Información 71

6.9 ACTIVIDADES COMPLEMENTARIAS 71

CAPITULO 7. CAMPOS DE APLICACIÓN DE LOS SISTEMAS EXPERTOS

7.1 Medicina 72

7.2 Análisis de estados financieros 72

7.3 Planificación Financiera 72

7.4 Industria 73

7.5 Electrónica, informática y telecomunicaciones 73

7.6 Militar 74

7.7 Contabilidad 74

7.8 Robótica 75

7.9 Reconocimiento de patrones 75

7.10 Otros campos de aplicación 75

7.11. Ejemplos De Sistemas Expertos En Empresas 76

7.11.1 En la Industria 76

(6)

7.11.3 En Análisis de Estados Financieros 76 7.11.4 En Planificación Financiera 77 7.11.5 En la Aviación 77 7.11.6 En Medicina 78 7.11.7 Aplicaciones actuales 78 7.12 ACTIVIDADES COMPLEMENTARIAS 80 8. GLOSARIO DE TERMINOS 81 9. BIBLIOGRAFIA 83

(7)

UNIDAD 1. VISION GENERAL DE LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS

CAPITULO 1. INTRODUCCIÓN A LOS CONCEPTOS BÁSICOS DE LA IA 1. INTRODUCCIÓN

La finalidad de la inteligencia artificial consiste en crear teorías y modelos que muestren la organización y funcionamiento de la inteligencia. Actualmente, el mayor esfuerzo en la búsqueda de la inteligencia artificial se centra en el desarrollo de sistemas de procesamientos de datos que sean capaces de imitar a la inteligencia humana, realizando tareas que requieran aprendizaje, solución de problemas y decisiones. A veces llamada inteligencia de máquina, la inteligencia artificial o AI (Artificial Intelligence) cubre una vasta gama de teorías y prácticas. La inteligencia artificial se define como aquella inteligencia exhibida por artefactos creados por humanos (es decir, artificial). A menudo se aplica hipotéticamente a los computadores. El nombre también se usa para referirse al campo de la investigación científica que intenta acercarse a la creación de tales sistemas. Existen cuatro puntos de vista principales sobre estos sistemas:

• Los que piensan como humanos. • Los que actúan como humanos. • Los que piensan racionalmente. • Los que actúan racionalmente.

1.1 La base de la inteligencia artificial

La inteligencia artificial se basa en dos áreas de estudio: el cuerpo humano y el ordenador electrónico. Puesto que la meta es copiar la inteligencia humana, es necesario entenderla. Sin embargo, a pesar de todos los progresos en Neurología y Psicología, la inteligencia del hombre se conoce poco, exceptuando sus manifestaciones externas. Muchos estudiosos de la inteligencia artificial se han vuelto para obtener su modelo de inteligencia hacia el estudio de la Psicología cognoscitiva, que aborda la forma de percibir y pensar de los seres humanos. Después comprueban sus teorías programando los ordenadores para simular los procesos cognoscitivos en el modelo. Otros investigadores intentan obtener teorías generales de la inteligencia que sean aplicables a cualquier sistema de inteligencia y no solo al del ser humano.

1.2 ¿Pueden pensar las máquinas?

En 1950 el matemático inglés Alan M. Turing publicó un ensayo que comenzaba así: "Quiero proponer una pregunta: ¿Pueden pensar las máquinas?." Como la pregunta era demasiado vaga (¿Qué entendemos por "pensar"?), Turing desarrolló un experimento basado en un juego de salón en el que una persona

(8)

formula a dos jugadores escondidos (un hombre y una mujer) preguntas que le servirán para descubrir cuál de los dos es la mujer.

Turing propuso sustituir uno de los dos jugadores escondidos por una máquina inteligente capaz de conversar. Si el examinador, que se servía de un teletipo para comunicarse, no podían distinguir cuál de los dos jugadores era la máquina, ello evidenciaría – según Turing – que la máquina podía pensar. En la actualidad, este experimento de Turing podría ser superado, en situaciones limitadas, por muchos programas de ordenador estudiados para dialogar con el usuario.

Investigaciones acerca de la inteligencia artificial realizadas en la Universidad de Yale (EE.UU.) han llevado al desarrollo de programas de ordenador mediante los cuales éstos pueden aprender y razonar. Otros estudiosos de la inteligencia artificial están poniendo a punto sistemas para dotar a los ordenadores de capacidad visual y auditiva. Una importante área de investigación es la del lenguaje normal, que permite a los ordenadores comunicarse mediante lenguaje humano en lugar de hacerlo en lenguaje de máquina.

Es decir, la mayoría de los ordenadores están programados para recibir e interpretar instrucciones de este tipo: S#DYR=48-56, LOC=AS NOT SW, EN=RALSTON". Únicamente personas preparadas son capaces de comunicarse eficazmente de esta forma. Pero si un ordenador programado para gestionar la documentación de una compañía petrolífera pudiese entender la orden dactilografiada (traducción de la anterior) "Encuéntrame toda la documentación relativa a las perforaciones de los pozos de Arabia Saudita entre 1948 y 1956, pero únicamente la de los pozos en que trabajó Ralston, no los de la zona surocciodental del país", muchas personas podrían utilizarlo.

1.3 Los fines de la IA

Las primeras investigaciones acerca de la inteligencia artificial estaban principalmente dirigidas al hallazgo de una técnica universal para la solución de problemas. Este intento a gran escala ha sido abandonado y las investigaciones actuales están dirigidas al diseño de numerosos programas para ordenadores capaces de imitar los procesos de toma de decisiones de expertos, como médicos, químicos, basados en los conocimientos de especialistas en cada materia, son ahora utilizados para diagnosticar enfermedades, identificar moléculas químicas, localizar yacimientos de minerales e incluso diseñar sistemas de fabricación. Investigaciones acerca de la percepción han sido aplicadas a los robots y se han diseñado algunos capaces de "ver". La meta final consiste en crear un sistema capaz de reproducir todas las facetas de la inteligencia humana.

1.4 Historia Y Evolución De La Inteligencia Artificial

La Inteligencia Artificial "nació" en 1943 cuando Warren McCulloch y Walter Pitts propusieron un modelo de neurona del cerebro humano y animal. Estas neuronas nerviosas abstractas proporcionaron una representación simbólica de la actividad cerebral.

(9)

Más adelante, Norbert Wiener elaboró estas ideas junto con otras, dentro del mismo campo, que se llamó "cibernética"; de aquí nacería, sobre los años 50, la Inteligencia Artificial.

Los primeros investigadores de esta innovadora ciencia, tomaron como base la neurona formalizada de McCulloch y postulaban que:

"El cerebro es un solucionador inteligente de problemas, de modo que imitemos al cerebro".

Pero si consideramos la enorme complejidad del mismo esto es ya prácticamente imposible, ni que mencionar que el hardware de la época ni el software estaban a la altura para realizar semejantes proyectos.

Se comenzó a considerar el pensamiento humano como una coordinación de tareas simples relacionadas entre sí mediante símbolos. Se llegaría a la realización de lo que ellos consideraban como los fundamentos de la solución inteligente de problemas, pero lo difícil estaba todavía sin empezar, unir entre sí estas actividades simples.

Es en los años 50 cuando se logra realizar un sistema que tuvo cierto éxito, se llamó el Perceptrón de Rossenblatt. Éste era un sistema visual de reconocimiento de patrones en el cual se asociaron esfuerzos para que se pudieran resolver una gama amplia de problemas, pero estas energías se diluyeron enseguida.

Fue en los años 60 cuando Alan Newell y Herbert Simon, que trabajando la demostración de teoremas y el ajedrez por ordenador logran crear un programa llamado GPS (General Problem Solver: solucionador general de problemas). Éste era un sistema en el que el usuario definía un entorno en función de una serie de objetos y los operadores que se podían aplicar sobre ellos. Este programa era capaz de trabajar con las torres de Hanoi, así como con criptoaritmética y otros problemas similares, operando, claro está, con microcosmos formalizados que representaban los parámetros dentro de los cuales se podían resolver problemas. Lo que no podía hacer el GPS era resolver problemas ni del mundo real, ni médicos ni tomar decisiones importantes. El GPS manejaba reglas heurísticas (aprender a partir de sus propios descubrimientos) que la conducían hasta el destino deseado mediante el método del ensayo y el error.

En los años 70, un equipo de investigadores dirigido por Edward Feigenbaum comenzó a elaborar un proyecto para resolver problemas de la vida cotidiana o que se centrara, al menos, en problemas más concretos. Así es como nació el sistema experto.

El primer sistema experto fue el denominado Dendral, un intérprete de espectrograma de masa construido en 1967, pero el más influyente resultaría ser el Mycin de 1974. El Mycin era capaz de diagnosticar trastornos en la sangre y recetar la correspondiente medicación, todo un logro en aquella época que incluso fueron utilizados en hospitales (como el Puff, variante de Mycin de uso común en el Pacific Medical Center de San Francisco, EEUU).

Ya en los años 80, se desarrollaron lenguajes especiales para utilizar con la Inteligencia Artificial, tales como el LISP o el PROLOG. Es en esta época cuando se desarrollan sistemas expertos más refinados, como por el ejemplo el EURISKO. Este programa perfecciona su propio cuerpo de reglas heurísticas automáticamente, por inducción.

(10)

1.5. Características De La Inteligencia Artificial

• Una característica fundamental que distingue a los métodos de Inteligencia Artificial de los métodos numéricos es el uso de símbolos no matemáticos, aunque no es suficiente para distinguirlo completamente. Otros tipos de programas como los compiladores y sistemas de bases de datos, también procesan símbolos y no se considera que usen técnicas de Inteligencia Artificial.

• El comportamiento de los programas no es descrito explícitamente por el algoritmo. La secuencia de pasos seguidos por el programa es influenciado por el problema particular presente. El programa especifica cómo encontrar la secuencia de pasos necesarios para resolver un problema dado (programa declarativo). En contraste con los programas que no son de Inteligencia Artificial, que siguen un algoritmo definido, que especifica, explícitamente, cómo encontrar las variables de salida para cualquier variable dada de entrada (programa de procedimiento).

• El razonamiento basado en el conocimiento, implica que estos programas incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que ellos operan. Al contrario de los programas para propósito específico, como los de contabilidad y cálculos científicos; los programas de Inteligencia Artificial pueden distinguir entre el programa de razonamiento o motor de inferencia y base de conocimientos dándole la capacidad de explicar discrepancias entre ellas.

• Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de Inteligencia Artificial los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolución de conflictos en tareas orientadas a metas como en planificación, o el diagnóstico de tareas en un sistema del mundo real: con poca información, con una solución cercana y no necesariamente exacta.

La Inteligencia Artificial incluye varios campos de desarrollo tales como: la robótica, usada principalmente en el campo industrial; comprensión de lenguajes y traducción; visión en máquinas que distinguen formas y que se usan en líneas de ensamblaje; reconocimiento de palabras y aprendizaje de máquinas; sistemas computacionales expertos.

Los sistemas expertos, que reproducen el comportamiento humano en un estrecho ámbito del conocimiento, son programas tan variados como los que diagnostican infecciones en la sangre e indican un tratamiento, los que interpretan datos sismológicos en exploración geológica y los que configuran complejos equipos de alta tecnología.

Tales tareas reducen costos, reducen riesgos en la manipulación humana en áreas peligrosas, mejoran el desempeño del personal inexperto, y mejoran el control de calidad sobre todo en el ámbito comercial.

(11)

1.5.1 Programa fijo y programa modificado por el procesamiento

Existen grandes diferencias entre el funcionamiento de las máquinas y el del cerebro: algunas son evidenciadas en el esquema bajo estas líneas. Las máquinas y el cerebro se diferencian en muchos aspectos: el primero es ligado a la arquitectura del sistema de memoria y a la elaboración realizada por la inteligencia natural, que influye en los programas sucesivos al ser almacenada en la memoria que mantiene disponibles todos los hechos que se han ido acumulando a lo largo del tiempo. Abajo a la izquierda se muestra el esquema de funcionamiento de un sistema artificial: procesa datos que recibe del exterior y que le son presentados ya seleccionados. Los procesa mediante un programa fijo, siempre elegido y construido por el hombre, es decir, desde el exterior.

Figura 1.1 Visualización Sistema experto – Cerebro humano

Este programa es sencillo comparado con los utilizados por el cerebro humano. A lo largo del tiempo, un mismo programa que procese los mismos datos obtendrá siempre los mismos resultados. Sin embargo, este sistema es muy veloz cuando se le piden secuencias de operaciones. Contrariamente, el cerebro humano es capaz de procesar al mismo tiempo todas las informaciones contenidas en una imagen, y el resultado de dicho procesamiento puede servir para modificar el programa, que para posteriores utilizaciones será más completo.

La observación de una imagen muestra la diferencia fundamental entre el modo de procesar los datos del cerebro humano y el de la máquina. El cerebro humano no actúa teniendo en cuenta un programa prefijado, sino más bien uno de naturaleza variable en el tiempo; las variaciones dependen de los resultados procedentes. De hecho, el cerebro tiene la propiedad de recordar imágenes similares; una vez vista la figura, extrae de su memoria imágenes similares previamente almacenadas y los resultados de los análisis realizados sobre ellas. Estos resultados sirven para mejorar el programa según el cual sacará conclusiones aplicadas al examen de la figura.

(12)

1.6. Funcionamiento Básico De La Inteligencia Artificial

Diferentes teorías:

1. Construir réplicas de la compleja red neuronal del cerebro humano (bottom-up).

2. Intentar imitar el comportamiento del cerebro humano con un computador (top-down).

1.6.1 Símbolos vs. Métodos Numéricos

El primer período de la Inteligencia Artificial, llamado sub-simbólico, data de aproximadamente 1950 a 1965. Este período utilizó representaciones numéricas (o sub-simbólicas) del conocimiento. Aunque la mayor parte de los libros de Inteligencia Artificial enfatizan el trabajo realizado por Rosenblatt y Widrow con redes neuronales durante este período, la realidad es que otra importante escuela sub-simbólica data también de la misma época y estos son los algoritmos evolutivos.

La escuela clásica dentro de la Inteligencia Artificial, utiliza representaciones simbólicas basadas en un número finito de primitivas y de reglas para la manipulación de símbolos. El período simbólico se considera aproximadamente comprendido entre 1962 y 1975, seguido por un período dominado por los sistemas basados en el conocimiento de 1976 a 1988. Sin embargo, en este segundo período las representaciones simbólicas (por ejemplo, redes semánticas, lógica de predicados, etc.) siguieron siendo parte central de dichos sistemas. La Programación Lógica tiene sus orígenes más cercanos en los trabajos de J. A. Robinson que propone en 1965 una regla de inferencia a la que llama resolución, mediante la cual la demostración de un teorema puede ser llevada a cabo de manera automática.

La resolución es una regla que se aplica sobre cierto tipo de fórmulas del Cálculo de Predicados de Primer Orden, llamadas cláusulas y la demostración de teoremas bajo esta regla de inferencia se lleva a cabo por reducción al absurdo. Otros trabajos importantes de esa época que influyeron en la programación lógica, fueron los de Loveland, Kowalski y Green, que diseña un probador de teoremas que extrae de la prueba el valor de las variables para las cuales el teorema es válido.

Estos mecanismos de prueba fueron trabajados con mucho entusiasmo durante una época, pero, por su ineficiencia, fueron relegados hasta el nacimiento de Prolog, que surge en 1971 en la Universidad de Marsella, Francia.

La Lógica de Primer Orden, es uno de los formalismos más utilizados para representar conocimiento en Inteligencia Artificial. La Lógica cuenta con un lenguaje formal mediante el cual es posible representar fórmulas llamadas axiomas, que permiten describir fragmentos del conocimiento y, además consta de un conjunto de reglas de inferencia que aplicadas a los axiomas, permiten derivar nuevo conocimiento.

(13)

Contiene dos tipos de símbolos:

a. Símbolos lógicos, entre los que se encuentran los símbolos de constantes proposicionales true y false; los símbolos de operadores proposicionales para la negación, la conjunción, la disyunción y las implicaciones (=>, <=); los símbolos de operadores de cuantificación como el cuantificador universal; el cuantificador existencial; y los símbolos auxiliares de escritura como corchetes [,], paréntesis (,) y coma.

b. Símbolos no lógicos, agrupados en el conjunto de símbolos constantes; el conjunto de símbolos de variables individuales; el conjunto de símbolos de funciones n-arias; y el conjunto de símbolos de relaciones n-arias.

A partir de estos símbolos se construyen las expresiones válidas en el Lenguaje de Primer Orden: los términos y las fórmulas.

Un término es cualquiera de las tres expresiones siguientes: una constante, por ejemplo, el número "100", la palabra "alfredo" y la letra "c"; o una variable, por ejemplo, "X" o bien una expresión de la forma "f(t1,...,tn)" donde "f" es un símbolo de función n-aria y t1,...,tn son términos. Ejemplos de funciones son: f(100,X), padre(Y) y sucesor(X).

Las fórmulas atómicas o elementales son expresiones de la forma R(t1,...,tn) donde R es un símbolo de relación n-aria y t1,...,tn son términos.

Ejemplos de fórmulas son:

positivo(3), not(igual(4,doble(2))), recetar(X,aspirina)<=tiene(X,fiebre), tiene(X,cefalea).

Esta última establece una regla que dice que, si X tiene fiebre y cefalea (dolor de cabeza), X debe tomar una aspirina.

El Lenguaje de Primer Orden posee un amplio poder de expresión, los términos permiten nombrar los objetos del universo, mientras que las fórmulas permiten afirmar o negar propiedades de éstos o bien establecen las relaciones entre los objetos del universo.

Puede decirse que la Programación Lógica utiliza la Lógica de Primer Orden como lenguaje de programación. Prolog es un ejemplo de lenguaje basado en la Lógica de Primer Orden y aunque toma su nombre de este término ("PROgramming in LOGic"), no abarca toda la riqueza de la Lógica de Primer Orden para resolver problemas, pues está restringido al uso de cierta clase de fórmulas denominadas cláusulas definidas o cláusulas de Horn.

Un programa lógico está formado por un conjunto finito de cláusulas de programa que son hechos o reglas. Por ejemplo:

padre(luis,miguel). Hecho padre(miguel,jose). Hecho padre(jose,juan). Hecho

abuelo(X,Y):-padre(X,Z), padre(Z,Y). regla

Este programa está formado por cuatro cláusulas de programa, las tres primeras son del tipo hecho y definen la relación padre/2 y la cuarta una regla que define la relación abuelo/2. Nótese el uso de las variables X,Y y Z en esta cláusula, las cuales permiten definir de manera general en Prolog la relación "ser abuelo de",

(14)

pues la lectura declarativa de dicha cláusula es la siguiente: "Para cualesquiera X,Y,Z se cumple que: X abuelo de Y, si X padre de Z y Z padre de Y".

En Prolog es posible hacer preguntas sobre objetos y relaciones del dominio y estas preguntas se formulan como objetivos o metas, que son evaluadas por el intérprete de Prolog utilizando su mecanismo de inferencia interno, el cual determina si la meta a demostrar es una consecuencia lógica del programa, aplicando reglas de deducción para obtener la respuesta.

Por ejemplo, del programa anterior, utilizando la cláusula de tipo meta ?abuelo(X,juan), para preguntar ¿quién es el abuelo de Juan? o bien ¿quiénes son los abuelos de Juan?, es posible deducir que Luis es abuelo de Juan, aunque implícitamente no existe en el programa ningún hecho que así lo afirme.

Figura 1.2 Análisis de oraciones

En este ejemplo de análisis de oraciones, podemos observar de qué manera se analiza una oración ingresada por el usuario y cómo el ordenador lo traduce en un lenguaje lógico de primer orden.

En este caso la ejecución del programa, para dicha meta, arrojaría como resultado que X=luis.

El método de deducción utilizado por Prolog, para dar respuesta a los objetivos planteados, se basa en el uso de una única regla de inferencia: el Principio de Resolución.

Los primeros trabajos de prueba automática de teoremas utilizaban la resolución, aplicada a cláusulas cualesquiera, pero el problema de las deducciones con cláusulas generales es el gran número de combinaciones posibles para llevar a cabo las resoluciones.

Por ello Prolog restringe el conjunto de cláusulas, lo que le permite llevar a cabo una prueba dirigida y, en la mayoría de los casos, con un universo de

(15)

1.7 Principales Ramas De La Inteligencia Artificial 1.7.1 Sistemas Expertos

Los sistemas expertos son aquellos programas que se realizan haciendo explicito el conocimiento en ellos, que tienen información específica de un dominio concreto y que realizan una tarea relativa a este dominio.

Los sistemas expertos trabajan con inteligencia artificial simbólica, es decir, a nivel de símbolos; como pueden ser ideas, imágenes, conceptos, etc. aunque debido a su naturaleza algorítmica se usen internamente instrucciones computables y estructuras de datos como los MOPS de Schank.

El éxito de un sistema experto radica fundamentalmente en el conocimiento sobre el dominio que trata y su capacidad de aprendizaje. El conocimiento sobre el dominio proporciona al sistema experto mayor información sobre el problema a tratar y su entorno, de forma que pueda generar y adaptar soluciones de forma más precisa, al tener un conocimiento más profundo sobre el tema, de forma similar a un experto especializado. El aprendizaje, inductivo o deductivo según corresponda, proporcionará al sistema experto mayor autonomía a la hora de abordar problemas totalmente desconocidos; pudiendo generar nuevo conocimiento partiendo del extraído inicialmente del experto o expertos humanos.

1.7.2 Robótica

La robótica es una ciencia o rama de la tecnología, que estudia el diseño y construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano o que requieren del uso de inteligencia. Las ciencias y tecnologías de las que deriva podrían ser: el álgebra, los autómatas programables, las máquinas de estados, la mecánica o la informática.

RAE : 1. f. Técnica que aplica la informática al diseño y empleo de aparatos que, en sustitución de personas, realizan operaciones o trabajos, por lo general en instalaciones industriales.

1.7.3 Sistemas De Visión

La Visión artificial, también conocida como Visión por Computador (del inglés Computer Vision) o Visión técnica, es un subcampo de la inteligencia artificial. El propósito de la visión artificial es programar un computador para que "entienda" una escena o las características de una imagen.

Los objetivos típicos de la visión artificial incluyen:

• La detección, segmentación, localización y reconocimiento de ciertos objetos en imágenes (por ejemplo, caras humanas).

(16)

• La evaluación de los resultados (ej.: segmentación, registro).

• Registro de diferentes imágenes de una misma escena u objeto, i.e., hacer concordar un mismo objeto en diversas imágenes.

• Seguimiento de un objeto en una secuencia de imágenes.

• Mapeo de una escena para generar un modelo tridimensional de la escena; tal modelo podría ser usado por un robot para navegar por la escena.

• Estimación de las posturas tridimensionales de humanos. • Búsqueda de imágenes digitales por su contenido.

Estos objetivos se consiguen por medio de reconocimiento de patrones, aprendizaje estadístico, geometría de proyección, procesado de imágenes, teoría de grafos y otros campos. La visión artificial cognitiva está muy relacionada con la psicología cognitiva y la computación biológica.

1.7.4 Procesamiento De Lenguaje Natural

El Procesamiento de Lenguajes Naturales, (PLN, o NLP; Natural Language Processing), es una subdisciplina de la Inteligencia Artificial y, también de la lingüística computacional. Estudia los problemas inherentes al procesamiento y manipulación de lenguajes naturales, sin embargo no suele plantear el entendimiento de lenguajes naturales.

Las principales tareas de trabajo en el PLN son: • Síntesis del discurso

• Análisis del lenguaje • Comprensión del lenguaje • Reconocimiento del habla

• Generación automática del lenguaje. • Traducción automática

• Respuesta a preguntas

• Recuperación de la información • Extracción de la información

1.7.5 Sistemas De Aprendizaje

El Aprendizaje Automático es una rama de la Inteligencia Artificial cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender. De forma más concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una información no estructurada suministrada en forma de ejemplos. Es por lo tanto, un proceso de inducción del conocimiento. En muchas ocasiones el campo de actuación del Aprendizaje Automático se solapa con el de la Estadística, ya que las dos disciplinas se basan en el análisis de datos. Sin embargo, el Aprendizaje Automático se centra más en el estudio de la Complejidad Computacional de los problemas. Muchos problemas son de clase NP-hard, por lo que gran parte de la investigación realizada en Aprendizaje Automático está

(17)

El Aprendizaje Automático tiene una amplia gama de aplicaciones, incluyendo motores de búsqueda, diagnósticos médicos, detección de fraude en el uso de tarjetas de crédito, análisis del mercado de valores, clasificación de secuencias de ADN, reconocimiento del habla y del lenguaje escrito, juegos y robótica.

Los sistemas de aprendizaje son una combinación de software y equipos que le permiten a la computadora cambiar su modo de funcionar o reaccionar a situaciones, basado en la retroalimentación que recibe. Por ejemplo algunos juegos computarizados tienen capacidades de aprendizaje. Si la computadora no gana un juego en particular, recuerda no hacer los movimientos bajo las mismas condiciones.

1.7.6 Redes Neuronales

Las redes de neuronas artificiales (RNA) son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Consiste en simular las propiedades observadas en los sistemas neuronales biológicos a través de modelos matemáticos recreados mediante mecanismos artificiales (como un circuito integrado, un ordenador o un conjunto de válvulas). El objetivo es conseguir que las máquinas den respuestas similares a las que es capaz el cerebro que se caracterizan por su generalización y su robustez

1.8 ACTIVIDADES COMPLEMENTARIAS

1. Definir el termino inteligencia Artificial ¿Cuál el al diferencia entre la inteligencia natural y artificial?

2. Definir e identificar 6 subcampos de la Inteligencia Artificial

3. ¿Que es un agente inteligente? Proporcione tres ejemplos de uso de un agente inteligente.

4. Identificar tres ejemplos de la utilización de la robótica.

5. ¿Qué es una red neuronal? Describir dos aplicaciones de las redes neuronales. 6. ¿Pueden pensar las computadoras? ¿podrían llegar a hacerlo? Explique su

respuesta.

7. Cree usted que es posible construir una maquina tan o más inteligente que un humano? Explique.

(18)

CAPITULO 2. VISION GENERAL DE LOS SISTEMAS EXPERTOS 2.1 INTRODUCCIÓN

Desde la aparición de las computadoras hasta nuestros días, la gente ha invertido grandes esfuerzos por tratar de dar una cierta capacidad de decisión a estas máquinas, incluso un cierto grado de inteligencia.

Un Sistema Experto en sí no tiene verdadera Inteligencia Artificial; más bien, es un sistema basado en el conocimiento que, mediante el buen diseño de su base de información y un adecuado motor de inferencias para manipular dichos datos proporciona una manera de determinar resoluciones finales dados ciertos criterios. Los Sistemas Expertos son una herramienta poderosa en el apoyo o guía de los usuarios en los procesos que tienen una secuencia pasos definida, pero que puede ser configurable.

Los sistemas expertos son SBC (Sistemas Basados en Conocimiento) que imitan el pensamiento de un experto para resolver problemas de un campo particular (1), pudiendo mejorar su productividad, ahorrar tiempo y dinero, conservar sus valiosos conocimientos y difundirlos más fácilmente.

2.2. Historia De Los Sistemas Expertos

Comúnmente se piensa que la Inteligencia Artificial, es un área que se viene desarrollando hace aproximadamente 5 o máximo 10 años atrás, pero esto no es cierto, este concepto viene desde los años 50 cuando Alan Turing publico su libro llamado “Inteligencia y funcionamiento de las maquinas”. A continuación se dará un breve resumen de la historia de los Sistemas Expertos agrupada por fechas:

• 1956: John McCarthy propone el uso del termino Inteligencia Artificial para denominar el estudio del tema, en una conferencia en Vermont (USA). • 1957: Aparece la primera version de “The General Problem Solver” (GPS:

Solucionador General de Problemas), el cual era capaz de solucionar problemas de sentido comun pero no de la vida real.

• 1958: John McCarthy desarrolla el lenguaje LISP (LISt Procesing).

• 1965: Aparece el primer Sistema Experto llamado DENDRAL, se utilizaba para identificar estructuras químicas moleculares a partir de su análisis espectrográfico., su realización duro mas de 10 años (1965-1975).

• 1972: Se desarrolla MYCIN en la Universidad de Stanford, un Sistema Experto para el diagnostico de enfermedades infecciosas. También aparece el lenguaje PROLOG.

• 1974: Aparece PROSPECTOR, un Sistema Experto de prospección minera desarrollado en la Universidad de Stanford.

• 1979: Se desarrolla XCOM, un Sistema Experto que se encargaba de configurar todos los computadores que salían de la DEC (Digital Equipament Corporation).

(19)

• Entre 1980 y 1985 se produce la revolución de los Sistemas Expertos, en este intervalo de tiempo se crearon Sistemas como el DELTA, de General Electric Company, para la reparación de locomotoras diesel y eléctricas; se crearon multitud de empresas dedicadas a los Sistemas Expertos como Teknowledge Inc., Lisp Machines Inc., Thinking Machines Corporation, Cognitive Systems Inc.

• A partir de los 90 y con el desarrollo de la informática, se produce un amplio desarrollo en el campo de la IA y por ende de los Sistemas Expertos, pudiéndose afirmar que estos se han convertido en una herramienta habitual en determinadas empresas en la actualidad.

2.3 ¿Que Es Un Sistema Experto?

Se puede decir que los Sistemas Expertos son el primer resultado operacional de la Inteligencia artificial, pues logran resolver problemas a través del conocimiento y raciocinio de igual forma que lo hace el experto humano.

Un Sistema Experto (SE), es básicamente un programa de computador basado en conocimientos y raciocinio que lleva a cabo tareas que generalmente sólo realiza un experto humano1; es decir, es un programa que imita el comportamiento humano en el sentido de que utiliza la información que le es proporcionada para poder dar una opinión sobre un tema en especial.

Otros autores lo definen como sigue: un Sistema Experto es un programa de computadora interactivo que contiene la experiencia, conocimiento y habilidad propios de una persona o grupos de personas especialistas en un área particular del conocimiento humano, de manera que permitan resolver problemas específicos de ése área de manera inteligente y satisfactoria. La tarea principal de un SE es tratar de aconsejar al usuario2.

Los usuarios que introducen la información al SE son en realidad los expertos humanos, y tratan a su vez de estructurar los conocimientos que poseen.

El Sistema Experto utilizará para ello el conocimiento que tenga almacenado y algunos métodos de inferencia.

Simultáneamente, el usuario puede aprender observando el comportamiento del sistema, es decir, los sistemas expertos se pueden considerar al mismo tiempo como un medio de ejecución y transmisión del conocimiento.

De esta definición se desprenden las dos habilidades fundamentales que poseen los Sistemas Expertos:

• La habilidad de aprendizaje, la cual requiere la interacción de un experto en alguna rama específica del saber y un ingeniero de conocimiento, que se

1 PARSAYE, Kamran, Mark Chignell, Setrag Khoshafian y Harry Wong. Intelligent Databases. 2 SCHILDT Herbert, Utilización de C en Inteligencia Artificial.

(20)

encarga de traducir este conocimiento del experto a reglas heurísticas para formar la base de conocimiento.

• La habilidad para simular el razonamiento que posee el Sistema Experto, esta se desprende de “caminar” a lo largo de las reglas heurísticas introducidas al sistema por un experto, a través del proceso de aprendizaje durante la generación de las bases del conocimiento.

Se debe tener en cuenta que la principal característica del experto humano viene a ser el conocimiento en ese campo concreto, por consiguiente, un Sistema Experto debe ser capaz de representar dicho conocimiento profundo con el objetivo de utilizarlo para resolver problemas, justificar su comportamiento e incorporar nuevos conocimientos.

2.3.1 Características de un Sistema Experto

Para que un sistema computacional actúe como un verdadero experto, es deseable que reúna, en lo posible, lo más importante de las características de un experto humano, esto es:

• Habilidad para adquirir conocimiento.

• Fiabilidad, para poder confiar en sus resultados o apreciaciones. • Solidez en el dominio de su conocimiento.

• Capacidad para resolver problemas.

La característica fundamental de un Sistema Experto es que separa los conocimientos almacenados (Base de conocimiento) del programa que los controla (Motor de inferencia). Los datos propios de un determinado problema se almacenan en una base de datos aparte (Base de hechos).

Además cuenta con características adicionales las cuales serán nombradas a continuación:

• Competencia en su campo: Es el significado de experto. Es necesario que pueda resolver problemas con una eficiencia y calidad comparables a las de un experto humano.

• Dominio reducido: El limitarse a un dominio reducido es un requisito para alcanzar la competencia.

• Capacidad de explicación: Es aquella capaz de explicar cómo ha resuelto el problema, es decir, qué método ha aplicado y por qué lo ha aplicado.

• Tratamiento de la incertidumbre: Es una exigencia que se deriva de la complejidad de los problemas que van a aborda los sistemas expertos. • Flexibilidad en el diálogo: Es deseable que los sistemas expertos tengan

esta capacidad, llegando en la medida de lo posible a comunicarse (entender y expresarse) en lenguaje natural como un experto humano. • Representación explícita del conocimiento: Es necesaria para considerar

(21)

La siguiente tabla muestra algunas diferencias que existen entre los sistemas clásicos y los expertos:

SISTEMA CLASICO SISTEMA EXPERTO

No contiene errores Puede contener errores

No da explicaciones, los datos solo

se usan o escriben El Sistema Experto cuenta con el modulo de explicación Los cambios son tediosos Los cambios en las reglas son faciles El sistema solo opera completo El sistema puede funcionar con pocas

reglas

Se ejecuta paso a paso La ejecución usa heurística y logica Representa y usa datos Representa y usa conocimiento Tabla 2.1. Comparación entre un sistema tradicional y un Sistema Experto

2.4 ¿Cuáles son las ventajas de un sistema experto?

Los valiosos conocimientos de un experto se guardan y se difunden, de forma que, no se pierden aunque desaparezca el especialista. En los Sistemas Expertos se guarda la esencia de los problemas que se intenta resolver y se programa cómo aplicar los conocimientos para su resolución. Estos ayudan a entender cómo se aplican los conocimientos para resolver un problema. Esto es útil porque normalmente el experto da por ciertos sus conocimientos y no analiza cómo los aplica.

A continuación se nombraran otras de las ventajas que presentan los Sistemas Expertos:

• Permanencia: Los expertos humanos pueden morir, cambiar de empresa o perder facultades lo que no puede ocurrir con un sistema experto.

• Duplicación: El experto humano se encuentra en un único lugar físico y es irreproducible, mientras que una vez construido un Sistema Experto se pueden fabricar un número ilimitado de copias destinadas a todos los lugares donde sean necesarias.

• Fiabilidad: Un Sistema Experto responderá siempre de la misma manera ante cierto problema, mientras que un experto humano puede estar condicionado por factores emocionales, prejuicios personales, tensión, fatiga, etc.

• Bajo costo: Aunque puede resultar caro inicialmente construir un sistema experto, una vez construido produce grandes beneficios.

• Facilita el entrenamiento del personal: El Sistema Experto puede ayudar de manera importante, y a costo menor, a la capacitación y adiestramiento del personal sin experiencia.

• La separación entre base de conocimiento y motor de inferencia proporciona una gran flexibilidad al SE.

• En manipulación de símbolos, los SE abren el campo a nuevas aplicaciones, no automatizadas hasta la fecha.

(22)

Por otro lado, los Sistemas Expertos presentan grandes carencias frente a los seres humanos:

• Sentido común: Para un ordenador no hay nada obvio.

• Lenguaje natural: Todavía nos encontramos muy lejos de tener un sistema que pueda formular preguntas flexibles y mantener una conversación informal con un usuario o con un paciente.

• Experiencia sensorial: Los Sistemas Expertos de la actualidad se limitan a recibir información.

• Perspectiva global: Un experto humano es capaz de detectar inmediatamente cuáles son las cuestiones principales y cuáles son secundarias (separando los datos relevantes de los detalles insignificantes). Además existen estas otras limitaciones:

• Falta de capacidad de aprendizaje: Los expertos humanos son capaces de aprender de la experiencia.

• Capacidad de manejar conocimiento no estructurado: El experto humano organiza y usa la información y el conocimiento presentados de forma poco ordenada.

• Funciones genuinamente humanas: por ejemplo, todo lo relacionado con el lenguaje natural, la formación de conceptos, el conocimiento de sentido común y la creación queda fuera de los Sistemas Expertos, al menos en el estado actual del conocimiento.

• La extracción del conocimiento es el problema más complejo que se les plantea a los ingenieros de conocimientos.

• Los SE son incapaces de reconocer un problema para el que su propio conocimiento es inaplicable o insuficiente.

• Los motores de inferencia poseen algunos límites.

• Falta personal competente para investigar y desarrollar aplicaciones.

2.5 Los expertos Humanos

Un experto humano es una persona que es competente en un área determinada del conocimiento o del saber. Un experto humano es alguien que sabe mucho sobre un tema determinado y que puede dar un consejo adecuado. Esta experiencia sólo se adquiere tras un largo aprendizaje y a base de mucha experiencia. Los expertos humanos tienen las siguientes características generales: • Son personas raras, tanto por su escaso número como su comportamiento poco “ortodoxo” y e “incomprensible” frente a los problemas con los que se enfrentan.

• Son caros por dos motivos: por su escaso número y por necesitar un largo periodo de aprendizaje.

(23)

• No están siempre disponibles, pues son humanos y cuando se jubilan o mueren se llevan con ellos todos sus conocimientos. Es por eso que tradicionalmente están acompañados de un “aprendiz”.

• Hay expertos que tienen mal carácter, son informales o poco comunicativos, lo que a veces les hace antipáticos.

La forma más rápida de formar a un experto es mediante el aprendizaje formal o académico (“conocimiento profundo”) en un principio, y posteriormente un aprendizaje informal o práctico (“conocimiento informal”).

2.6 Diferencias entre un experto y un no experto humano

Experto NO EXPERTO

Tiempo de Resolución Pequeño Grande

Eficacia Resolutiva Alta Baja

Organización Alta Baja

Estrategias y Tácticas Sí No

Búsqueda de Soluciones Heurística No Heurística

Cálculos Aproximados Sí No

Tabla 2.2 Diferencias entre un experto y un no experto humano.

El uso de heurísticas contribuye grandemente a la potencia y flexibilidad de los SE y tiende a distinguirlos aún mas del software tradicional.

2.7 Diferencias entre un SE y un programa tradicional

SISTEMA EXPERTO PROGRAMA TRADICIONAL

Conocimiento En programa e independiente En programa y circuitos

Tipo de datos Simbólicos Numéricos

Resolución Heurística Combinatoria

Def. problema Declarativa Procedimental

Control Independiente. No secuencial Dependiente. Secuencial

Conocimientos Imprecisos Precisos

Modificaciones Frecuentes Raras

Explicaciones Sí No

Solución Satisfactoria Optima

Justificación Sí No

Resolución Área limitada Específico

Comunicación Independiente En programa

(24)

2.8 Diferencias entre un sistema experto y un experto humano

SISTEMA EXPERTO EXPERTO HUMANO

Conocimiento Adquirido Adquirido + Innato

Adquisición del

conocimiento Teórico Teórico + Práctico

Campo Único Múltiples

Explicación Siempre A veces

Limitación de capacidad Sí Sí, no valuable

Reproducible Sí, idéntico No

Vida Infinita Finita

Tabla 2.4 Diferencias entre un Sistema Experto y un Experto Humano. 2.9 Ventajas de los sistemas expertos

Las ventajas que se presentan a continuación son en comparación con los expertos humanos:

• Están siempre disponibles a cualquier hora del día y de la noche, y de forma interrumpida.

• Mantiene el humor.

• Pueden duplicarse (lo que permite tener tantos SE como se necesiten). • Pueden situarse en el mismo lugar donde sean necesarios.

• Permiten tener decisiones homogéneas efectuadas según las directrices que se les fijen.

• Son fáciles de reprogramar.

• Pueden perdurar y crecer en el tiempo de forma indefinida.

• Pueden ser consultados por personas o otros sistemas informáticos.

2.10 Forma en que los usuarios interactúan con los SE

El usuario de un SE puede estar operando en cualquiera de los siguientes modos: • VERIFICADOR. El usuario intenta comprobar la validez del desempeño del

sistema.

TUTOR. El usuario da información adicional al sistema o modifica el conocimiento que ya está presente en el sistema.

ALUMNO. El usuario busca rápidamente desarrollar pericia personal relacionada con el área específica mediante la recuperación de conocimientos organizados y condensados del sistema.

CLIENTE. El usuario aplica la pericia del sistema a tareas específicas reales.

(25)

El reconocimiento de las caracterizaciones anteriores contrasta con la percepción de un simple papel (el cliente) de los sistemas tradicionales de software.

2.11 Sistema experto VS. Sistema clásico

La siguiente tabla compara las características de ambos tipos de sistemas

Sistema Clásico Sistema Experto

Conocimiento y procesamiento

combinados en un programa Base de conocimiento separada del mecanismo de procesamiento

No contiene errores Puede contener errores

No da explicaciones, los datos sólo se

usan o escriben Una parte del sistema experto consiste en el módulo de explicación Los cambios son tediosos Los cambios en las reglas son fáciles El sistema sólo opera completo El sistema puede funcionar con pocas reglas Se ejecuta paso a paso La ejecución usa heurísticas y lógica Necesita información completa para

operar Puede incompleta operar con información

Representa y usa datos Representa y usa conocimiento

Tabla 2.5 Comparativa entre un Sistema Clásico y un Sistema Experto 2.12 Futuro de los Sistemas Expertos

• Los Sistemas Expertos se utilizaran mucho más en las organizaciones, debido a que la tecnología también es cada vez más accesible para una gran mayoría de las empresas.

• Las interfaces de los Sistemas Expertos serán en leguaje natural, lo cual facilitará la comunicación entre usuarios y el sistema.

• Se manejarán herramientas inteligentes para explotar la información que contengan las bases de datos, permitiendo con ello un mejor uso de la información.

• Los Sistemas Expertos se integrarán a otras tecnologías para dar un mayor soporte en todas las áreas de la empresa.

• Los Sistemas Expertos tendrán una mayor difusión, su programación y utilización serán más fáciles.

• Los SE estarán embebidos en diversas aplicaciones, especialmente en software de uso general y en sistemas de supervisión y control.

• En el futuro estos Sistemas Expertos sabrán más sobre sus preferencias de las personas que ellas mismas.

(26)

2.13 ACTIVIDADES COMPLEMETARIAS

1. ¿Que es un sistema Experto?

2. ¿Explique los componentes de un sistema Experto? 3. ¿Cuáles son las ventajas de los sistemas expertos?

4. Realice una comparación entre un sistema experto y un experto humano, ¿cuales son las ventajas de implementar un sistema experto que realice las funciones de un humano?

5. Explique las características y las ventajas de un sistema experto.

6. Complemente la historia de los sistemas expertos e investigue como se han implementado en Colombia

7. Existe algún tipo de desarrollo de sistemas expertos en Colombia, Investigue en que campos y como ha sido su implementación en su campo de acción. 8. Realice un análisis acerca del futuro de los sistemas expertos en Colombia. 9. ¿Que empresas de desarrollo de sistemas expertos existen en Colombia y que

adelantos han alcanzado en esta área?

10. Haga una comparación acerca del futuro de los sistemas expertos en Colombia y el desarrollo de estos a nivel mundial.

(27)

UNIDAD 2. DESARROLLO Y USO DE LOS SISTEMAS EXPERTOS CAPTULO 3. USO DE LOS SISTEMAS EXPERTOS

3.1 Introducción

Se puede decir que los Sistemas Expertos son el primer resultado operacional de la Inteligencia artificial, pues logran resolver problemas a través del conocimiento y raciocinio de igual forma que lo hace el experto humano.

Un Sistema Experto (SE), es básicamente un programa de computadora basado en conocimientos y raciocinio que lleva a cabo tareas que generalmente sólo realiza un experto humano3; es decir, es un programa que imita el comportamiento humano en el sentido de que utiliza la información que le es proporcionada para poder dar una opinión sobre un tema en especial y resolver problemas especificos. Otros autores lo definen como sigue: un Sistema Experto es un programa de computadora interactivo que contiene la experiencia, conocimiento y habilidad propios de una persona o grupos de personas especialistas en un área particular del conocimiento humano, de manera que permitan resolver problemas específicos de ése área de manera inteligente y satisfactoria.4 La tarea principal de un SE es tratar de aconsejar al usuario5.

Los usuarios que introducen la información al SE son en realidad los expertos humanos, y tratan a su vez de estructurar los conocimientos que poseen para ponerlos entonces a disposición del sistema. Los SE son útiles para resolver problemas que se basan en conocimiento6.

Las características principales de este tipo de problemas, según algunos autores, son:

• Utilizan normas o estructuras que contengan conocimientos y experiencias de expertos especializados.

• Se obtienen conclusiones a través de deducciones lógicas. • Contienen datos ambiguos.

• Contienen datos afectados por factores de probabilidad.

3 PARSAYE, Kamran, Mark Chignell, Setrag Khoshafian y Harry Wong. Intelligent Databases. 4 DE MIGUEL González, Luis Javier. Técnicas de mantenimiento predictivo industrial basadas en Sistemas Expertos.

5 SCHILDT Herbert, Utilización de C en Inteligencia Artificial. 6 CRIADO Briz, José Mario. Sistemas Expertos. URL

(28)

Con base en lo anterior, algunos investigadores de IA señalan que un SE debe cumplir con las siguientes características:

• Tener un amplio conocimiento específico del área de especialización. • Aplicar técnicas de búsqueda.

• Tener soporte para Análisis Heurístico.

• Poseer habilidad para inferir nuevos conocimientos ya existentes. • Tener la capacidad de procesar símbolos.

• Tener la capacidad para explicar su propio razonamiento.

3.3 Uso de los sistemas Expertos

3. 2.1 Interpretación, diagnóstico y monitoreo

La interpretación consiste en encontrar el significado de los datos de entrada obtenidos por sensores o introducidos por el usuario.

Con frecuencia aparecen datos contradictorios, incompletos o inexactos, por lo que hay que dotar al SE de conocimiento para resolver un problema de este tipo, y que de todas formas llegue a una resolución. Existen dos tipos de interpretación:

Análisis: La interpretación de datos se obtiene mediante la separación o distinción de las partes que forman los datos.

Síntesis: La interpretación de los datos se obtiene mediante la combinación de los mismos.

El diagnóstico consiste en identificar las causas internas que provocan un problema, avería o disfunción a partir de una serie de datos o síntomas que son consecuencia de la misma y que son observables.

Los SE en diagnóstico encuentran múltiples dificultades a la hora de realizar su tarea como son las siguientes:

Manifestaciones Nuevas. Es decir, síntomas que no se habían observado con anterioridad.

Causas Nuevas.

Manifestaciones debidas a varias causas.

Datos Inaccesibles, caros o de obtención peligrosa. Relaciones no biyectivas entre los datos y las causas. Fallos o averías de aparición intermitente.

Existencia de varios fallos simultáneos o en cadena.

La monitorización es un caso particular de la interpretación, y consiste en la comparación continua de los valores de las señales o datos de entrada y unos valores que actúan como criterios de normalidad o estándares.

(29)

En el campo del mantenimiento predictivo los Sistemas Expertos se utilizan fundamentalmente como herramientas de diagnóstico. Se trata de que el programa pueda determinar en cada momento el estado de funcionamiento de sistemas complejos, anticipándose a los posibles incidentes que pudieran acontecer. Así, usando un modelo computacional del razonamiento de un experto humano, proporciona los mismos resultados que alcanzaría dicho experto. La figura 3.1 muestra el funcionamiento de un SE de este tipo.

Figura 3.1 Funcionamiento de un SE usado en mantenimiento predictivo

3.2.2 Diseño y selección

El diseño se puede concebir de distintas formas:

• El diseño en ingeniería es el uso de principios científicos, información técnica e imaginación en la definición de una estructura mecánica, máquina o sistema que ejecute funciones específicas con el máximo de economía y eficiencia.

• El diseño industrial busca rectificar las omisiones de la ingeniería, es un intento consiente de traer forma y orden visual a la ingeniería de hardware donde la tecnología no provee estas características.

• Diseño es el proceso de especificar una descripción de un artefacto que satisface varias características desde un número de fuentes de conocimiento.7

Los SE en diseño ven este proceso como un problema de búsqueda de una solución óptima o adecuada. Las soluciones alternas pueden ser conocidas de antemano (problemas de derivación) o se pueden generar automáticamente (problemas de formulación).

(30)

Los SE prueban distintos diseños para verificar cuáles de ellos cumplen los requerimientos solicitados por el usuario, ésta técnica es llamada “generación y prueba”, por lo tanto estos SE son llamados de selección. En áreas de aplicación, la prueba se termina cuando se encuentra la primer solución; sin embargo, existen problemas más complejos en los que el objetivo es encontrar la solución más óptima.

La utilidad de los programas basados en conocimientos aplicados a la ciencia y a la ingeniería no se limita al análisis sofisticado, muchos programas recientes han empezado a trabajar en la síntesis.8

Existen programas que diseñan dispositivos simples y después buscan oportunidades de reducción de costos o de reducción de componentes.

3.2.3 Planificación

La planificación es la realización de planes o secuencias de acciones y es un caso particular de la simulación. Está compuesto por un simulador y un sistema de control. El efecto final es la ordenación de un conjunto de acciones con el fin de conseguir un objetivo global (costo mínimo, tiempo mínimo, etc).

Los problemas que presentan la planificación mediante SE son los siguientes: • Existen consecuencias no previsibles, de forma que hay que explorar y

explicar varios planes.

• Existen muchas consideraciones que deben ser valoradas o incluirles un factor de peso.

• Suelen existir interacciones entre planes de subobjetivos diversos, por lo que deben elegirse soluciones de compromiso.

• Trabajo frecuente con incertidumbre, pues la mayoría de los datos con los que se trabaja son más o menos probables pero no seguros.

• Es necesario hacer uso de fuentes diversas tales como bases de datos.

3.2.4 Control

Un sistema de control participa en la realización de las tareas de interpretación, diagnóstico y reparación de forma secuencial. Con ello se consigue conducir o guiar un proceso o sistema.

Los sistemas de control son complejos debido al número de funciones que deben manejar y el gran número de factores que deben considerar; esta complejidad creciente es otra de las razones que apuntan al uso del conocimiento, y por tanto de los SE.

(31)

Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el mismo la realimentación o el paso de un proceso a otro lo realiza el operador, o en lazo cerrado si no tiene que intervenir el operador en ninguna parte del mismo.

3.2.5 Reparación, corrección o terapia

La reparación, corrección, terapia o tratamiento consiste en la proposición de las acciones correctoras necesarias para la resolución de un problema.

Los SE en reparación tienen que cumplir diversos objetivos, como son: • Reparación lo más rápida y económicamente posible.

• Orden de las reparaciones cuando hay que realizar varias.

• Evitar los efectos secundarios de la reparación, es decir la aparición de nuevas averías por la reparación.

3.2.6 Simulación, pronóstico o predicción

La simulación es una técnica consistente en crear modelo basados en hechos, observaciones e interpretaciones, sobre la computadora, a fin de estudiar el comportamiento de los mismos mediante la observación de las salidas para un conjunto de entradas.

Las técnicas tradicionales de simulación requieren modelos matemáticos y lógicos que describen el comportamiento del sistema bajo estudio.

El empleo de los SE para la simulación viene motivado por la principal característica de los SE, que es su capacidad para la simulación del comportamiento de un experto humano, que es un proceso complejo.

En la aplicación de los SE para simulación hay que diferencia cinco configuraciones posibles:

1. Un SE puede disponer de un simulador con el fin de comprobar las soluciones y en su caso rectificar el proceso que sigue.

2. Un sistema de simulación puede contener como parte del mismo a un SE y por lo tanto el SE no tiene que ser necesariamente de simulación. 3. Un SE puede controlar un proceso de simulación, es decir que el

modelo está en la base de conocimiento del SE y su evolución es función de la base de hechos, la base de conocimientos y el motor de inferencia, y no de un conjunto de ecuaciones aritmético – lógicas.

4. Un SE puede utilizarse como consejero del usuario y del sistema de simulación.

(32)

5. Un SE puede utilizarse como máscara o sistema frontal de un simulador con el fin de que el usuario reciba explicación y justificación de los procesos.

Los sistemas de pronóstico deducen consecuencias posibles a partir de una situación. Su objetivo es determinar el curso del futuro en función de información sobre pasado y presente. Esto abarca diversos problemas, tales como predicciones meteorológicas, predicciones demográficas, o incluso previsiones de la evolución bursátil entre otros.9

3.2.7 Instrucción

Un sistema de instrucción (Sistema Experto para formación), realiza un seguimiento del proceso de aprendizaje de un estudiante. El sistema detecta errores de los estudiantes e identifica el remedio adecuado, es decir, desarrolla un plan de enseñanza para facilitar el proceso de aprendizaje y la corrección de errores.10

3.2.8 Recuperación de Información

Los Sistemas Expertos, con su capacidad para combinar información y reglas de actuación, han sido vistos como una de las posibles soluciones al tratamiento y recuperación de información, no sólo documental. La década de 1980 fue prolija en investigación y publicaciones sobre experimentos de este orden, interés que continua en la actualidad.

Lo que diferencia a estos sistemas de un sistema tradicional de recuperación de información es que estos últimos sólo son capaces de recuperar lo que existe explícitamente, mientras que un Sistema Experto debe ser capaz de generar información no explícita razonando con los elementos que se le dan. Pero la capacidad de los SE en el ámbito de la recuperación de la información no se limita a la recuperación. Pueden utilizarse para ayudar al usuario, en selección de recursos de información, en filtrado de respuestas, etc Un SE puede actuar como un intermediario inteligente que guía y apoya el trabajo del usuario final. Para desempeñar de forma adecuada esta tarea, los enfoques centrados en la creación de modelos de las estructuras cognitivas del usuario son los más prometedores.

3.3. Elementos de una Sistema Experto

Los dos componentes principales de cualquier sistema experto son una base de conocimientos y un programa de inferencia, o también llamado motor de inferencias.

9 MARTÍNEZ De Ibarreta León, Francisco Javier. Sistemas Expertos: Áreas de aplicación.

(33)

a. La base de conocimientos del Sistema Experto con respecto a un tema específico para el que se diseña el sistema. Este conocimiento se codifica según una notación específica que incluye reglas, predicados, redes semánticas y objetos.

b. El motor de inferencia, que es el que combina los hechos y las preguntas particulares, utilizando la base de conocimiento, seleccionando los datos y pasos apropiados para presentar los resultados.

Existen otros componentes un SE entre ellos:

Subsistema de control de coherencia. Este componente previene la entrada de información incoherente en la base de conocimiento. Es un componente muy necesario, a pesar de ser un componente reciente.

Subsistema de adquisición de conocimiento. Se encarga de controlar si el flujo de nuevo conocimiento a la base de datos es redundante. Sólo almacena la información que es nueva para la base de datos.

Motor de inferencia. Este componente es básico para un SE; se encarga de obtener conclusiones comenzando desde el conocimiento abstracto hasta el conocimiento concreto. Si el conocimiento inicial es muy poco, y el sistema no puede obtener ninguna conclusión, se utilizará el subsistema de demanda de información.

Subsistema de demanda de información. Completa el conocimiento necesario y reanuda el proceso de inferencia hasta obtener alguna conclusión válida. El usuario puede indicar la información necesaria en este proceso ayudado de una interfase de usuario (la cual facilita la comunicación entre el Sistema Experto y el usuario).

Subsistema de incertidumbre. Se encarga de almacenar la información de tipo incierto y propaga la incertidumbre asociada a esta información. • Subsistema de ejecución de tareas. Permite realizar acciones al Sistema

Experto basadas en el motor de inferencia.

Subsistema de explicación. Este componente entra en ejecución cuando el usuario solicita una explicación de las conclusiones obtenidas por el SE. Esto se facilita mediante el uso de una interfase.

(34)

Figura 3.2. Elementos de un Sistema Experto

Figure

Actualización...

Referencias

Actualización...

Related subjects :