Está en la página 1de 38

APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

El documento cubre todos los temas impartidos en la asignatura salvo el tema de


introducción y está pensado como complemento a las transparencias y mapas
conceptuales utilizados en las clases.
El objetivo es que se lea esta documentación antes de la clase correspondiente para
que se obtenga un mejor aprovechamiento de las clases y se pueda realizar preguntas
y dinamizar la clase. En ningún caso se pueden tomar estos apuntes como un substituto
de las clases de teoría.
0. Introducción
La Inteligencia Artificial (IA) estudia las estrategias y algoritmos que permiten a los
computadores pensar “igual” que las personas.
Esta disciplina puede ser aplicada en distintas áreas del conocimiento: Medicina, Control
automático, Análisis de datos, etc. Es por ello que, el propósito de esta asignatura es aprender
las técnicas adecuadas para enseñar al computador a pensar y conocer su aplicabilidad en el
ámbito de la ingeniería de sistemas.
Para alcanzar dicho propósito, el programa de la asignatura se lo ha organizado de la siguiente
forma: en la primera semana se contemplan temas como: Fundamentos de la Inteligencia
Artificial, donde se conocerán aspectos generales de esta disciplina, Agentes inteligentes, y ya
luego trabajamos con Resolución de problemas mediante búsqueda y Estrategias de búsqueda
informada y de exploración, algoritmo Backtracking y del algoritmo de Búsqueda local y
Genético. Con esto pasamos a las principales técnicas de representación de conocimiento, como
redes semánticas, frames y principalmente lógica; donde se abarcarán temas relacionadas a
Agentes Lógicos que contempla temas relacionados a Lógica Proposicional y a los Patrones de
razonamiento; finalmente, el Encadenamiento hacia atrás, donde se estudiara el mecanismo de
resolución por refutación bases para las primeras técnicas de resolución de planificadores
lineales, terminaremos esta unidad con técnicas de planificación parcial y basada en grafo.
Finalmente en junio analizaremos las principales técnicas de aprendizaje automático
supervisado, en especial nos introduciremos a las técnicas de redes neuronales artificiales.
Seleccionamos estos temas ya que creemos que son la base fundamental de “cómo piensa un
computador”. Además, como esta materia contempla también elementos de práctica, hemos
creído conveniente proponer ejercicios que se irán desarrollando con el fin de afianzar la teoría.
Hagamos de este camino de la Inteligencia Artificial, un sendero para transitar juntos, recuerde
que siempre estaremos apoyándolo en sus inquietudes. Estamos seguros que con su esfuerzo
personal y nuestro apoyo podrá culminar con éxito el aprendizaje de esta asignatura. ¡Adelante!

0.1 Fundamentos de la Inteligencia Artificial (IA)


Estimado estudiante, empezamos con el estudio de esta interesante asignatura haciendo
referencia algunos fundamentos básicos de la Inteligencia artificial (IA), como su definición, un
poco de historia haciendo referencia a su nacimiento y en lo que se ha venido convirtiendo esta
ciencia. Iniciaremos entonces en primer lugar con algunas definiciones básicas y con una breve
historia de las disciplinas que han contribuido a la IA.
0.1.1 ¿Qué es la IA?
La IA en los últimos años ha ido evolucionando con gran rapidez que otras disciplinas, lo que
ha ocasionado que abarque una gran cantidad de áreas, desde algunas muy generales como
razonamiento, búsqueda, etc. a otras más específicas como las redes neuronales, sistemas
expertos, etc. Pero, ¿qué es la IA?.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 1


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Para aclarar esta interrogante es necesario:


Desarrollar las lecturas del capítulo 1: “Introducción” del texto base, secciones 1.1 y
1.2 donde se da algunas definiciones de IA y los fundamentos en los que se sustenta
esta ciencia.
Con la lectura realizada, encontraremos una gran variedad de definiciones de la IA, pero puede
ser entendida como “la disciplina que estudia cómo lograr que las computadoras actúen
racionalmente, es decir, buscan lograr que éstas se asemejen cada vez más al comportamiento
humano”.
De ahí que en el texto base se describen algunos enfoques que dan una visión general de la
inteligencia artificial:
• El enfoque de la prueba de Turing
• El modelo del enfoque cognitivo
• El enfoque de las «leyes del pensamiento» y
• El enfoque del agente racional.
Por otro lado, también encontrará que la Inteligencia artificial se fundamenta en varias
disciplinas como las que se muestran a continuación:

Figura 0.1.1. Disciplinas que contribuyeron al desarrollo de la IA

1.2 Historia de la inteligencia artificial


Para seguir abordando los temas concernientes a la IA, hemos creído conveniente revisar un
poco de historia hasta llegar al estado actual de la misma. Es por ello que para conocer cómo
nace esta ciencia, cómo ha ido evolucionando, hasta llegarla a concebir como una ciencia, es
necesario:
Realizar una lectura de la sección 1.3: “Historia de la Inteligencia Artificial” del texto
base, veremos una visión general de la IA desde su nacimiento hasta el
perfeccionamiento de los enfoques que se han venido dando de esta ciencia.
Con la lectura realizada, veremos que Warren McCulloch y Walter Pitts fueron los autores del
primer trabajo de la IA, los cuales se basaron en tres fuentes:

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 2


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

 Conocimientos sobre fisiología básica y funcionamiento de las neuronas.


 Análisis formal de la lógica proposicional (Russel & Whitehead)
 Teoría de la computación de Turing.
Para conocer en qué consiste el modelo propuestos por estos autores y otros trabajos
caracterizados como parte de la Inteligencia artificial lo invitamos a seguir leyendo la génesis y
el nacimiento de la IA.
Evolución de la IA en sus primeros años
En esta parte conocerá el entusiasmo inicial en los primeros años de la IA, donde algunos de sus
hitos fueron:
 Hipótesis del sistema de símbolos físicos.
 Lenguaje de alto nivel LISP.
 Micromundos, el mundo de los bosques.
 Redes neuronales como adalines o perceptrones., etc.
Lo invitamos a seguir revisando otros desarrollos que se vinieron dado durante las primeras
décadas de la IA, como los sistemas basados en el conocimiento, la IA como industria y como
ciencia, el regreso de las redes neuronales y la emergencia de los sistemas inteligentes,
apartados que se encuentran explicados en su texto base en la sección antes indicada.
Un aspecto importante que debe tener en cuenta tras la lectura del texto base es cómo la IA
llega a convertirse en una industria, y luego en una ciencia, lo cual ha permitido que esta
disciplina pueda ser vista ya como un campo científico.
1.3 Estado del arte de la inteligencia artificial.
A medida que avanzamos con el estudio de la IA, se vuelve muy interesante este tema. Pues
ahora, conoceremos que es capaz de hacer hoy en día esta ciencia realizando lo siguiente:
Desarrollar la lectura de la sección 1.4. Estado del arte.
Cómo podemos ver existen muchos subcampos de la IA provenientes de muchas de las
actividades que se pueden realizar con esta ciencia. Es así que tomando como referencia lo
señalado en el texto base, presentamos a continuación algunas de las principales áreas o ramas
de la IA [1].

1 Grupo de IA y Robótica. Introducción la Inteligencia artificial. Buenos Aires. Disponible en:


http://secyt.frba.utn.edu.ar/gia/IIA-mod1-Fundamentos.pdf[consulta 05-05-2011]
Fundamentos.pdf[consulta 05-05-2011]
Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 3
APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Otro aspecto importante por señalar es la IA aplicada a los sistemas de producción, que debido
a los grandes avances de esta ciencia, estos han hecho que la industria logre sus objetivos con
más rapidez y eficiencia que en otros años.
Aplicaciones de la Inteligencia artificial
En su texto base podrá encontrar qué es capaz de hacer hoy en día la inteligencia artificial, a
través de la descripción de unas cuantas aplicaciones de esta disciplina.
Para completar un poco este tema a continuación mencionamos algunas otras aplicaciones de
esta ciencia, a parte de las mencionadas en el texto base:
• Predicción: Por ejemplo sistemas de autocontrol, etc.
• Medicina: En este caso se pueden aplicar a sistemas de diagnóstico médico.
• Apoyo a la toma de decisiones: Por ejemplo mediante el uso de técnicas inteligentes
paramétricas y no paramétricas para el análisis de datos.
• Educación: sistemas recomendadores educativos, tutores inteligentes, modelización de
estudiantes, etc.
• Comercio electrónico: agentes recomendadores para la compra de un producto, etc

0.2. Agentes Inteligentes y su Entorno


Para empezar a explorar este tema conviene conocer primero ¿Qué es un agente? ¿Cuáles son
sus elementos?.
Para dar respuesta a estas interrogantes es necesario:
Realizar una lectura del capítulo 2. Agentes inteligentes, sección 2.1 y sección 2.2
conocerá la definición de un agente, los elementos que lo conforman y el concepto
de racionalidad.
0.2.1 Concepto de agentes
De la lectura realizada se podrá dar cuenta que un agente inteligente nos es más que: una
entidad que:
 Percibe su entorno a través de sensores
 Modifica el entorno mediante actuadores
Un agente es cualquier cosa capaz de percibir su medio ambiente con la ayuda de sensores y actuar
sobre ese medio utilizando actuadores (elemento que reacciona a un estímulo realizando una
acción).
En base a estos dos puntos, los elementos que lo conforman serían los señalados en la figura 2.1
del texto base.
Estos elementos se pueden ver reflejados en la imagen que se muestra a continuación:

Figura 0.2.1. Concepto de Agente

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 4


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Como podemos observar el agente percibe mediante sensores (entradas), actualiza su entorno
mediante los actuadores, y deberá emprender aquella acción o secuencia de acciones que mejor
lo guíe hacia la salida deseada.
Un agente tomará una decisión en un momento dado dependiendo de la secuencia completa de
percepciones (percepción, el agente puede recibir entradas en cualquier instante) hasta ese
instante. Si se puede especificar qué decisión tomará un agente para cada una de las posibles
secuencias de percepciones, entonces se habrá explicado más o menos todo lo que se puede
decir de un agente.
Algunos ejemplos donde se pueden hacer uso de agentes son:
 Ejemplos:
 Comprar por internet.
 Sistema de diagnóstico médico
 Análisis de imágenes satelitales
 Robot ensamblador de partes
 Sistemas de seguridad del hogar
Otro aspecto importante mencionado en el texto es lo relacionado al buen comportamiento del
agente, es decir el concepto de racionalidad. De ahí que podríamos decir que un agente racional
es aquel que:
Intuitivamente “hace lo correcto”, por las razones mencionadas en el texto base.
De ahí que de un agente esperamos:
 Que posea controles autónomos
 Perciba su entorno
 Persista en el tiempo
 Se adapte a los cambios,
 Y especialmente que sea capaz de alcanzar objetivos diferentes.
Para determinar el éxito en el comportamiento del agente hay que considerar las medidas de
rendimiento la cual en base a lo explicado en el texto base podríamos decir que esta puede ser:
objetiva, externa y que cuantifica el éxito del agente.
0.2.2 Comportamiento de los agentes RACIONALES
Un agente racional es aquel que hace lo correcto
Se necesita determinar una forma de medir el éxito
Ello, junto a la descripción del entorno y de los sensores y actuadores del agente, proporcionará
una especificación completa de la tarea que desempeña el agente
 MEDIDAS DE RENDIMIENTO: Estas medidas incluyen los criterios que determinan el éxito
en el comportamiento del agente. Cuando se sitúa un agente en el medio, este genera una
secuencia de acciones de acuerdo con las percepciones que recibe. Esta secuencia de
acciones hace que su hábitat pase por una secuencia de estados. Si la secuencia es la
deseada, entonces el agente habrá actuado correctamente. No hay una única medida
adecuada para todos los agentes
Por lo que hay que insistir en l importancia de utilizar medidas de rendimiento objetivas,
que normalmente determinará el diseñador encargado de la construcción del agente. Como
regla general, es mejor diseñar medidas de utilidad de acuerdo con lo que se quiere para el
entorno, más que de acuerdo con cómo se cree que el agente debe comportarse. La selección
de la medida de rendimiento no es siempre fácil.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 5


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

 RACIONALIDAD: Depende en un momento dado de cuatro factores:


 La medida de rendimiento que define el criterio del éxito.
 El conocimiento del medio en el que habita acumulado por el agente.
 Las acciones que el agente puede llevar a cabo.
 La secuencia de percepciones del agente hasta este momento.
Esto nos lleva a la definición de que un agente racional en cada posible secuencia de
percepciones, deberá emprender aquella acción que supuestamente maximice su medida de
rendimiento, basándose en las evidencias aportadas por la secuencia de percepciones y en el
conocimiento de que el agente mantiene almacenado.
La racionalidad no es lo mismo que la perfección, la racionalidad maximiza el rendimiento
esperado, mientras la perfección maximiza el resultado real.
El agente racional no solo recopila información sino que prende lo máximo posible de los que
se está percibiendo la configuración inicial del agente puede reflejar un conocimiento
preliminar del entorno, pero a medida que el agente adquiere experiencia este puede
modificarse y aumentar
El agente autónomo puede
 estar basado en conocimientos (dotado de una base de reglas y una base de hechos que
crece a medida que se usa) o
 estar basado en comportamientos (con registro incremental de hechos y algoritmos de
deducción), lo cual implica esfuerzo de programación diferentes y también un potencia
de aplicación diferente.

0.2.3 Entorno de trabajo para el agente.


Ya que se tiene una definición de racionalidad se puede pensar en la construcción de agentes
racionales, pero hay que centrarse en los entornos de trabajo, que son esencialmente los
problemas para que los agentes racionales son las soluciones
Ahora, regresemos un momento al texto base y realice una lectura de la sección 2.3.
La naturaleza del entorno. Conocerá en qué consiste la especificación REAS, las
propiedades de los entornos de trabajo y observará algunas descripciones REAS de
los ejemplos de los tipos de agentes propuestos en el texto.
Tenga en cuenta que en el texto base para definir el entorno de trabajo de un agente se utiliza
el acrónimo REAS = Rendimiento, Entorno, Actuadores, Sensores.
Especificación del entorno de trabajo:- en la discusión de la racionalidad de un agente
aspiradora simple, hubo que especificar las medidas de rendimiento, el entorno y los
actuadores y sensores del agente. Todo ello forma lo que se llama entorno de trabajo, también
se lo denomina REAS (RENDIMIENTO, ENTORNO, ACTUADORES, SENSORES).
En el diseño de un agente, el primer paso debe ser siempre especificar el entorno de trabajo de
la forma más completa posible. Para ello se empieza por mostrar un entorno de trabajo,
ilustrando el proceso en varios ejemplos. Posteriormente se mostrará que el entorno de trabajo
ofrece diferentes posibilidades, de forma que cada una de las posibilidades influyan
directamente en el diseño del programa del agente.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 6


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Tipos de agentes medidas de entorno actuadores sensores


Rendimiento

Sistemas de diag- pacientes, sa- pacientes, visualizar pre- teclado para la


Nóstico medico. Nos, reducir hospital, guntas, pruebas entrada de sín-
Costos. Personal diagnósticos. tomas, conlu-
Siones, respue
tas.

Sistema de aná- categoriza- conexión visualizar cate- matriz de pi-


isis de imágenes ción de ima- con satéli gorizacion de xeles de colo-
De satélites. gen correcta te escena res.

Robot para la porcentaje cinta trans- brazo y ma- cámara sensor


Selección de component portdora con nos articulado angular
Componentes clasificados componentes
En Cubos cubos.
Correctos

Controlador de maximizar refinería válvulas temperatura


Una refinería la pureza operadores bombas presión
Producción monitores sensores
Seguridad químicos

En contraste existen algunos agentes de software en entornos ricos y prácticamente ilimitados.


Imagine un softbot diseñado para pilotaer el simulador de vuelo de un avión comercial. El
simulador es un medio muy detallado y complejo que incluye otros aviones y operaciones de
tierra, el agente de software debe elegir el tiempo real, una de entre un amplio abanico de
posibilidades.
Propiedades De Ambientes
El rango de los entornos de trabajo en los que se utiliza la IA es obviamente muy grande. Sin
embargo, para identificar un pequeño de número de dimensiones en las que categorizar estos
entornos. Estas dimensiones determinan, el diseño adecuado para el agente y la utilización de
cada una de las familias principales de técnicas de implementación del agente. Primero se
miden las dimensiones y después se analixan varios entornos de trabajo para ilustrar varias
ideas.
De a acuerdo a lo señalado en el texto base los entornos de trabajo se pueden categorizar en:

Figura 0.2.2. Tipos de entornos de trabajo

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 7


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Totalmente observable vs estocástico:- si el siguiente estado del medio está totalmente


determinado por el estado actual y la acción ejecutado por el agente, entonces se dice que el
entorno es determinista; de otra forma es estocástico. En principio un agente no se tiene que
preocupar por la incertidumbre en un medio totalmente observable entonces puede parecer
estocástico. Esto es cierto si se trata de un medio complejo haciendo posible el mantener
constancia de todos los aspectos observados. Así, a menudo es mejor pensar en entonos
deterministas o estocásticos desde el punto de vista del agente.
Episopódico vs secuencial:- en un entorno episopódico , la experiencia del agente se divide en
episodios atómicos. Cada episodio consiste en la percepción del agente la realización de una
única acción posterior. Es muy importante tener en cuenta que el siguiente episodio no depende
de las acciones que se realizaron en episodios previos. En los medios episopódicos la elección
de la acción en cada episodio depende sólo del episodio de sí mismo. Muchas tareas de
clasificación son episopódicas. Los medios episopódicos son más simples que los secuenciales
porque la gente no necesita pensar con tiempo.
Estático vs dinámico:- si el entorno puede cambiar cuando el agente está deliberando,
entonces se dice que el entorno es dinámico para el agente; de otra forma se dice que es estático.
Los medios estáticos son fáciles de tratar ya que el agente no necesita estar pendiente dl mundo
mientras está tomando una decisión sobre una acción, ni necesita preocuparse por el paso dl
tiempo. Los dinámicos por el contrario, están preguntando constantemente al agente qué
quiere hacer, sino se ha decidido aún, entonces se entiende que está tomando la decisión de no
hacer nada.
Discreto vs continuo:- a distinción entre discreto y continuo se puede aplicar al estado del
medio, a la forma en que se maneja el tiempo y a las percepciones y acciones del agente. Las
imágenes captadas por cámaras digitales son discretas, en sentido estricto, pero se tratan
típicamente como representaciones continuas de localizaciones e intensidades variables.
Agente individual vs multiagente:- la distinción del entorno entre un agente individual y un
sistema multiagente puede parecer suficientemente simple. El ajedrez es un entorno
multiagente competitivo. Los diseños e agente que aparecen en los entornos multiagentes son
a menudo bastantes diferentes de los que aparecen en entornos con un único agente.
Como es de esperar, el caso más complejo es el parcialmente observable, estocástico,
secuencial, dinámico, continuo y multiagente. De hecho, suele suceder que la mayoría de las
situaciones reales son tan complejas que sería discutible clasificarlas como realmente
deterministas.
0.2.4 Estructura de los agentes
Hemos llegado al estudio de la estructura de los agentes, en esta parte conoceremos la
arquitectura de los agentes inteligentes, los programas de agentes y los tipos de agentes que
podemos encontrar.
En el texto base, la sección 2.4 Estructura de los agentes, se muestra cómo están
estructurados los agentes inteligentes dependiendo del tipo. Realice una lectura
comprensiva, para conocer de estos temas.
Hasta este momento se ha hablado de los agentes describiendo su conducta, la acción que se
realiza después de una secuencia de percepciones dadas. Ahora se trata de centrarse en el
núcleo del problema y hablar sobre cómo trabajan internamente. El trabajo de la IA es diseñar
el programa del agente que implementa la función del agente que proyecta las percepciones en
las acciones, se asume que este programa se ejecutará en algún tipo de computador de sensores
físicos y actuadores, lo cual se conoce como arquitectura:
Agente = arquitectura + programa

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 8


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Obviamente, el programa que se elija tiene que ser apropiado para la arquitectura. Si el
programa tiene que recomendar acciones como Caminar la arquitectura tiene que tener
piernas. La arquitectura puede ser un PC común o puede ser un coche robotizado con varios
computadores, cámaras y otros sensores a bordo. En general, la arquitectura hace que las
percepciones de los sensores estén disponibles para el programa, ejecuta los programas, y se
encarga de que actuadores en marcha las acciones generadas.
Tipos de agentes
Estos programas de agentes que se describen a continuación tienen la misma estructura:
reciben las percepciones actuales como entradas de los sensores y devuelven una acción a los
actuadores. Hay que tener en cuenta la diferencia entre los programas de los agentes, que
toman la percepción actual como entrada, y la función el agente que recibe la percepción
histórica completa. Los programas de los agentes recibe sólo la percepción actual como entrada
porque no haya nada más disponible en el entorno; si las acciones del agente dependen de la
secuencia completa de percepciones, el agente tendría que recordar las percepciones
Para construir un agente racional de esta forma, los diseñadores deben realizar una tabla que
contengan las acciones apropiadas para cada secuencia posible de percepciones. El agente-
dirigido-mediante tabla, hace lo que nosotros queremos: implementa la función deseada para
el agente.
El desafío clave de la IA es encontrar la forma de escribir programas, que en la medida de lo
posible, reproduzcan un comportamiento racional a partir de una pequeña cantidad de código
en vez de que partir de un gran tabla con gran número de entradas. Por ejemplo, las grandes
tablas de las raíces cuadradas utilizadas por ingenieros y estudiantes antes de 1970 se han
reemplazado por un programa de cinco líneas que implementa el método de Newton en las
calculadoras electrónicas, la pregunta en el caso del comportamiento inteligente general
¿puede hacer la IA hacer lo que Newton hizo con las raíces cuadradas? Se cree que la respuesta
es afirmativa.
Estos son los cuatro tipos básicos de programas para agentes que encarnan los principios que
subyacen en casi todos los sistemas inteligentes:
 Agentes Reactivos Simples:
Una vez revisado en qué consiste este agente, es conveniente hacer hincapié en el diagrama de
la figura 2.9 y el programa del agente mostrado en la figura 2.10 del texto base. Tener en cuenta
que:
 Las reglas condición-acción a las que hace referencia la estructura del agente reactivo
simple, permiten establecer la conexión entre percepción y acción.
 En el programa del agente, INTERPRETAR-ENTRADA genera una descripción abstracta
del estado mostrado por la percepción.
 REGLA-COINCIDENCIA produce una regla del conjunto que satisface la percepción.
Es el tipo de agente más sencillo. Estos agentes seleccionan las acciones sobre la base de las
percepciones actuales, ignorando el resto de las percepciones históricas. Imagínese que es
conductor de un taxi automático. Si el coche que circula delante frena, y las luces del freno se
encienden, entonces lo advertiría y comenzaría a frenar, es decir, se llevaría a cabo algún tipo
de procesamiento sobre las señales visuales para establecer la condición que se llama << el
coche que circula adelante está frenando>> el ser humano también tiene muchas de estas
conexiones de las cuales son respuestas aprendidas y otras son reacciones innatas.
Los agentes reactivos simples tienen la admirable propiedad de ser simples pero poseen una
inteligencia muy limitada. Los bucles infinitos son a menudo inevitables para los agentes
reactivos simples que operan en algunos entornos parcialmente observables.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 9


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Salir de estos bucles es posible si los agentes pueden seleccionar sus acciones aleatoriamente.
En entorno de agentes individuales el comportamiento aleatorio no es normalmente racional ,
es un truco útil que ayuda a los agentes reactivos simples en algunas situaciones pero se
obtendrán mejores resultados con agentes deterministas más sofisticados.
 Agentes Reactivos Basados En Modelos:
Tras la lectura de este tipo de agentes en el texto base, es conveniente se podrá dar cuenta que
existen dos tipos de conocimiento que se requiere codificar durante la actualización del estado
interno, los cuáles son:
 conocimiento acerca de la forma como el mundo evoluciona, independientemente de las
acciones del agente.
 conocimiento sobre cómo afectan al mundo las acciones del agente.
Un aspecto importante que hay que tener en cuenta es que el conocimiento del estado interno
no siempre es suficiente, por ejemplo, considerando el agente piloto automático para elegir
entre rutas decisionales alternativas (en una intersección ¿girar o no girar el volante del
carro?), pues se requiere conocer la meta a lograr, es por ello, que aparecen otro tipo de agentes
como el mencionado a continuación
La forma más efectiva que tienen los agentes de manejar la visibilidad parcial es almacenar
información de las partes del mundo que no pueden ver. O lo que es los mismo que el agente
debe mantener algún tipo de estado interno que dependa de la historia percibida y que de ese
modo refleje por lo menos algunos de los aspectos no observables del estado actual.
La la actualización de lo información de estado interno según pasa el tiempo requiere codificar
dos tipos de conocimientos en el programa del agente. Primero, se necesita alguna información
acerca de cómo evoluciona el mundo independientemente del agente. Este conocimiento de
cómo funciona el mundo, tanto si está implementado con un circuito booleano simple o con
teorías científicas completas, se denomina modelo del mundo. Un agente que utilice este
modelo es un agente basado en modelos.
 Agentes Basados En Objetivos:
Estamos seguros que durante la lectura se percató que en este tipo de agentes se necesita de
algún tipo de información que describa las situaciones que son deseables para el agente, es
decir información sobre su meta.
Cómo podemos observar en la figura 2.13 de su texto base, ya se agregan dos componentes
adicionales relacionados como el conjunto de objetivos que intenta alcanzar el agente y lo que
pasaría si el agente realiza determinada acción.
El conocimiento sobre el estado actual del mundo no es siempre suficiente para decidir que
hacer. El programa del agente se puede combinar con información sobre los resultados de las
acciones posibles para elegir las acciones que permitan alcanzar el objetivo. En algunas
ocasiones, l selección basadas en objetivos es directa, cuando alcanzar los objetivos es el
resultado inmediato de una acción individual en otras ocasiones puede ser más complicado,
cuando el agente tiene que considerar secuencias complejas para encontrar el camino que le
permita alcanzar el objetivo. Búsqueda y planificación son los subcampos de la IA centrados en
encontrar la secuencias de acciones que permitan a los agentes alcanzar sus metas.
Hay que tener en cuenta que la toma de decisiones de este tipo es fundamentalmente diferente
de las reglas de condición-acción descritas anteriormente, en las que hay que tener en cuenta
consideraciones sobre el futuro. En los diseños de agentes reactivos esta información no está
representada explícitamente porque las reglas que maneja el agente proyectan directamente
las percepciones en las acciones.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 10


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

El agente reactivo frena cuando ve luces de freno un agente basado en objetivos, en principio,
puede reaccionar que si el coche que va adelante tiene encendidas las luces de frenado, está
reduciendo su velocidad. Aunque el agente basado en objetivos puede parecer menos eficiente,
es más flexible ya que el conocimiento que soporta su decisión está representado
explícitamente y puede modificarse.
El comportamiento del agente basado en objetivos puede cambiarse fácilmente para que se
dirija a una localización diferente. Las reglas de los agentes reactivos relacionadas con cuándo
girar y cuándo seguir recto son válidas par un destino concreto y tienen que modificarse cada
vez que el agente se dirija a cualquier otro lugar destino.
 Agentes Basados En Utilidad:
En este tipo de agentes interviene un aspecto importante como la función de utilidad, pero ¿qué
es utilidad? ¿A qué hace referencia la función utilidad? ¿Para qué es necesaria?. Para aclarar
estas inquietudes regrese al texto base y analice la estructura de estos agentes.
Se podrá dar cuenta que cuando se prefiere un estado en lugar de otro, se dice que ese estado
ofrece mayor “utilidad” al agente
Las metas por si solas no son realmente suficientes para generar comportamiento de gran
calidad en l mayoría de los entornos. Las metas solo proporcionan una cruda distinción binaria
entre los estados de felicidad y tristeza mientras que una medida de eficiencia más general
debería permitir una comparación entre estados del mundo diferentes de acuerdo al nivel
exacto de felicidad que el agente alcance cuando se llegue a un estado u otro. Una función de
utilidad proyecta un estado en un número real, que representa un nivel de felicidad.
La definición completa de una función de utilidad permite tomar decisiones racionales en dos
tipos de casos en los que las metas son inadecuadas. Primero, cuando haya objetivos
conflictivos, y sólo se puedan alcanzar algunos de ellos. Segundo, cuando hay varios objetivos
por los que se pueda guiar al agente y ninguno de ellos se pueda alcanzar con certeza, la utilidad
proporciona un mecanismo para ponderar la probabilidad de éxito en función de la importancia
de los objetivos.
Un agente que posee una función de utilidad explícita puede tomar decisiones racionales, y lo
puede hacer con la ayuda de un algoritmo de propósito general que no dependa de la función
específica de utilidad a maximizar.
 Agentes Que Aprenden
Hasta aquí ha revisado estructuras de agentes similares, pero si comparamos el modelo general
para los agentes que aprenden con los diagramas de agentes señalados anteriormente, veremos
que este cuarto diagrama tiene diferencias, principalmente en los componentes que conforman
el agente. Para corroborar esto analizar la figura 2.15 del texto base y revisar en qué consiste
cada uno de ellos.
Se han descrito programas para agentes que poseen varios métodos para seleccionar acciones.
Pero no se ha explicado cómo poner en marcha estos programas de agentes. Turing en su
temprano y famoso artículo, consideró la idea de programar sus máquinas inteligentes a mano.
Estimó cuánto tiempo podía llevar y concluyó que <<sería deseable utilizar un método más
rápido>> el método que propone es construir máquinas que aprendan y después enseñarlas.
En muchas áreas de la IA. Éste es hasta ahora el método más adecuado para crear sistemas
novedosos.
El aprendizaje tiene otras ventajas: como se ha explicado: permite que el agente opere en
medios que inicialmente desconocidos y que sea más competente que si sólo utilizase un
conocimiento inicial.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 11


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Un agente que aprende se puede dividir en cuatro componentes conceptuales. La distinción más
importante entre el elemento de aprendizaje y el elemento de actuación es que el primero está
responsabilizado de hacer las mejoras y el segundo se responsabiliza de la selección de acciones
externas. El elemento de actuación es lo que anteriormente se había considerado como el
agente completo: recibe estímulos y determina las acciones a realizar.
El elemento de aprendizaje se realimenta con las críticas sobre la actuación del agente y
determina como se debe modificar el elemento de actuación para proporcionar mejores
resultado en el futuro. La crítica indica el elemento de aprendizaje que tal lo está haciendo el
agente con respecto a un nivel de actuación fijo. La crítica es necesario porque las percepciones
por sí mismas no prevén una indicación del éxito del agente. El último componente del agente
con capacidad de aprendizaje es el generador de problemas. Es responsable de sugerir acciones
que lo guiarán hacia experiencias nuevas e informativas. Lo interesante es que si el elemento
de actuación sigue su camino, puede continuar llevando a cabo las acciones que sean mejores,
dado su conocimiento. Pero si el agente está dispuesto a explorar un poco, y llevar cabo algunas
acciones que no sean totalmente óptimas a largo plazo.
En resumen, los agentes tienen una gran variedad de componentes y estos componentes se
pueden representar de muchas formas en los programas de agentes , por lo que parece haber
una gran variedad de métodos de aprendizaje. El aprendizaje es el campo de los agentes
inteligentes puede definirse como el proceso de modificación de cada componente del agente,
lo que permite a cada componente comportarse más en consonancia con la información que se
recibe, lo que por tanto permite mejorar el nivel medio de actuación del agente.

0.3 Sistemas Expertos


Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría el privilegio
de razonar y pensar. En la actualidad existe un campo dentro de la inteligencia artificial al que
se le atribuye esa facultad: el de los sistemas expertos.
Estos sistemas permiten la creación de máquinas que razonan como el hombre, restringiéndose
a un espacio de conocimientos limitado. En teoría pueden razonar siguiendo los pasos que
seguiría un experto humano (médico, analista, empresario, etc.) para resolver un problema
concreto. Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo de
posibilidades en resolución de problemas y en aprendizaje.
Los Sistemas Expertos proceden inicialmente de finales de los años 50. Hacia 1957, un
programa denominado GPS ("General Problem Solver" o Solucionador General de Problemas)
fue llevado a cabo por los investigadores Alan Newell y Herbert Simon. Este programa podía
trabajar con criptografía utilizando matemáticas, también con las torres de Hanoi y otros
problemas similares a éste. Era un buen sistema pero no podía resolver problemas del mundo
real.
Fue un buen comienzo. Con este intento otros investigadores se dieron cuenta que para poder
tener más éxito construyendo este tipo de sistemas debían restringir el dominio de estudio a
uno más pequeño. De esta manera se les haría más fácil simular parte del pensamiento humano
para la resolución de problemas. De estas ideas nacen los Sistemas Expertos.
Más tarde, hacia 1965, Edward Feigenbaum junto a un grupo de investigadores comenzó a
desarrollar Sistemas Expertos utilizando bases de conocimientos. Ya en 1967, construyeron lo
que se conoce como el primero de ellos: DENDRAL. El nombre del mismo viene del griego y
significa "árbol". Éste era utilizado para identificar estructuras químicas moleculares a partir
de su análisis espectrográfico.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 12


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

En los 70's, específicamente en 1972, se comenzó el desarrollo del sistema MYCIN. Éste era
utilizado para hacer consultas y diagnósticos de infecciones en la sangre.
Basándose en análisis de sangre, cultivos de bacterias y otros datos, el sistema podía
determinar o, por lo menos, sugerir qué organismo o microbio estaba causando la infección. El
mismo llegaba a una conclusión y sugería un tratamiento el cual era basado en las
características de la persona, i.e. peso corporal del individuo. Para esta misma época también
se desarrollaron otros sistemas como HERSAY (que fue creado para reconocimiento de
palabras habladas) y PROSPECTOR (que fue utilizado para hallar yacimientos de minerales).
En los 80 los Sistemas Expertos (S.E.) obtuvieron un gran auge. Al igual que todo lo que se pone
de moda, los S.E. no fueron la excepción y numerosas empresas comenzaron a dedicar tiempo,
dinero y esfuerzo para el desarrollo de S.E. En este punto se llegó a la conclusión de que el éxito
de los sistemas expertos depende de la base de conocimientos que se esté utilizando.
Entre todas las empresas gastaron aproximadamente unos mil millones de dólares en
investigación y desarrollo de estos sistemas. Uno de estos sistemas fue DELTA, "Diesel Electric
Locomotive Troubleshooting Aid". Éste fue un sistema producido por General Electric para la
reparación de locomotoras. Además de Sistemas Expertos, también se desarrollaron
herramientas para trabajar con los mismos. Estas herramientas son programas que contienen
los componentes básicos de un Sistema Experto, como lo son: el Subsistema de Adquisición de
Conocimientos, la Base de Conocimientos, el Mecanismo de Inferencia, el Subsistema de
Explicación y el Interface de Usuario. Además de éstas también se han desarrollado otras
herramientas, como por ejemplo CLIPS, "C Language Integrated Production System". Este
programa fue creado en 1985 por NASA para satisfacer sus necesidades dentro del campo de la
inteligencia artificial.

0.3.1 Definición
Los sistemas expertos (también conocidos por sistemas basados en el conocimiento o sistemas
expertos basados en el conocimiento) son una rama de la IA que hace un uso del conocimiento
especializado para resolver problemas como un especialista humano.
Un Sistema Basado en el Conocimiento (SBC) es aquel en el que aparece representado el
conocimiento de un dominio determinado, de tal forma que dicha representación sea procesable
por un programa informático. Un Sistema Experto (SE) es un SBC al que se le incorpora
conocimiento proveniente de expertos en dicho dominio. La finalidad de un SE es la resolución de
problemas del dominio para el que ha sido creado, aplicando técnicas de razonamiento sobre el
conocimiento que alberga su base de conocimiento (BC).
Los sistemas expertos, dentro del campo de la inteligencia artificial, son sistemas capaces de
realizar algo muy parecido a “razonar y pensar”. Permiten crear máquinas que razonan en un
espacio restringido de conocimientos, siguiendo los pasos que seguiría un experto humano.
Actúan como un especialista humano en un dominio particular o área de conocimiento. El
experto humano transmite su conocimiento al sistema, y el usuario lo utiliza para resolver
problemas con el eficacia del especialista. El usuario también puede aprender observando, es
decir, puede considerarse al sistema experto como un medio de ejecución y transmisión del
conocimiento.
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).

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 13


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Un sistema experto puede definirse como "un programa de computadora que resuelve
problemas que requieren experiencia humana, mediante el uso de representación del
conocimiento y procedimientos de decisión”, [Kastner, 1984]. Así pues los SE son programas
que hacen explicito el conocimiento alojado en los expertos, que tienen información específica
de un tema concreto y que realizan una tarea relativa a este tema. Son llamados expertos por
que emulan el comportamiento de un experto en un tema concreto y en ocasiones son usados
por ellos.

Simula el proceso de aprendizaje, de


memorización, de razonamiento, de
comunicación y de acción de un experto
humano en una determinada rama de la ciencia
o campo, suministrando, de esta forma, un
consultor que puede suministrar ayuda a (o en
algunos casos sustituir completamente) los
expertos humanos con un grado razonable de
fiabilidad.

El éxito de un sistema experto radica fundamentalmente en el conocimiento sobre el tema que


trata y su capacidad de aprendizaje. El conocimiento sobre el tema 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, 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
Un sistema experto necesita ser enseñado, pero puede asimilar gran cantidad de conocimientos,
y nunca olvida el conocimiento. Un sistema experto puede crear su propia base de
conocimiento, aunque esta es una tarea muy difícil. Uno de los objetivos que se persigue es
conseguir que expertos, sin necesidad de que sepan programar, amplíen la base de
conocimiento.
Es importante diferenciar entre estos sistemas y los clásicos. En la Tabla 1, podemos observar
las principales diferencias entre un sistema clásico y un sistema experto.
SISTEMA CLÁSICO SISTEMA EXPERTO
Conocimiento y
Base de conocimientos separada del
procesamiento combinados
mecanismo de procesamiento
en un programa
No contiene errores Puede contener errores
No da explicaciones, los Una parte del sistema experto lo
datos se usan o escriben forma el módulo de explicación
Cambios tediosos. El Las cambios en reglas son fáciles. El
sistema solo opera sistema puede funcionar con pocas
completo reglas
Se ejecuta paso a paso y La ejecución usa heurísticas y lógica,
necesita información y puede operar con información
completa para operar incompleta
Representa y usa datos Representa y usa conocimiento
Tabla 1. Sistemas clásicos vs Sistemas expertos

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 14


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Las características fundamentales de un sistema experto son:


1. Dominio reducido: se especializan en un campo limitado, como puede ser la interpretación de
espectrogramas químicos, la prospección geológica, las enfermedades infecciosas, etc.
2. Colección integrada de Conocimiento: Los agentes que constituyen el sistema pueden representar los
juicios de muchos expertos en varias partes del globo. Estas experiencias son guardadas en un solo
lugar por lo que es posible su utilización luego por expertos o no expertos también. Sin embargo, la
real utilidad de este sistema es que permite un constante intercambio de datos y juicios de líderes
expertos, y esto permite la formación de nuevas reglas e ideas acerca del tema.
3. Competencia en su campo: al igual que un experto humano es una persona que sabe mucho sobre su
especialidad, de modo que puede dar respuestas rápidas y fiables, un sistema experto debe resolver
los mismos problemas con una eficiencia comparable a la de un especialista humano.
Sin embargo, los sistemas expertos se están aplicando en varios tipos de problemas del mundo real;
las tareas que realizan pueden clasificarse como interpretación, predicción, diagnóstico, diseño,
planificación, monitorización, depuración, reparación, instrucción y control [García Martínez y Britos,
2004].
4. Separación conocimiento / inferencia: Decir que existe una separación muy clara entre el
conocimiento y el mecanismo de razonamiento, significa que no interviene ningún conocimiento
especializado en la concepción del motor de inferencia y en todo lo concerniente a la base de
conocimiento. Los elementos que la constituyen son independientes los unos de los otros; el orden
en el cual se introducen los elementos en el sistema no tiene ninguna influencia en los resultados
Ésta es una característica presente en todos los programas de IA., y distingue los SS.EE. de programas
anteriores (por ejemplo, las ayudas al diagnóstico médico basadas en árboles de decisión), en que el
conocimiento sobre el campo estaba implícito en el código del programa. Esta separación tiene como
primera ventaja la facilidad de ampliar o depurar el conocimiento que posee el sistema, sin tener que
modificar el algoritmo de inferencia.
5. Capacidad de inferencia deductiva: Esto significa que los agentes no solo eran capaces de recuperar
información almacenada en la base de datos sino hacer deducciones usando la información para
hacer deducciones que produzcan nuevas informaciones para la base de datos.
6. Tienen un carácter declarativo. El programa se escribe bajo la forma de un conjunto de
especificaciones, independientes unas de otras (elementos de conocimiento), que se ponen en
acción dinámicamente por un procedimiento de resolución que es independiente de la naturaleza
del conocimiento (motor de inferencia)
7. Capacidad de explicación relativa a los razonamientos que efectúan hasta llegar a una conclusión. Al
tener representado explícitamente el conocimiento, el sistema puede "reflexionar" sobre la
información que posee y la forma en que la ha utilizado. Estas explicaciones deben, no solamente ser
expresadas en el lenguaje del experto, sino corresponderse, también, con un comportamiento que le
parezca “natural” al experto. Estos dos puntos son fundamentales, ya que permiten al experto
corregir, enriquecer y validar el sistema..
8. Flexibilidad en el diálogo: Consiste en la capacidad de generar preguntas de acuerdo con el
razonamiento, tal como puede hacer un experto, a diferencia de los programas que presentan un
cuestionario rígido con gran cantidad de preguntas irrelevantes. (Los SS.EE. destinados a la
interpretación de datos constituyen una excepción, pues en este caso toda la información está
disponible desde el primer momento y no es necesario generar preguntas.).
9. Tratamiento de la incertidumbre: Esta característica es una consecuencia de la complejidad de los
problemas que abordan los SS.EE., pues en el mundo real hay muchas fuentes de incertidumbre,
asociadas a los datos (inexactitudes e imprecisiones), al dominio en sí (relaciones probabilísticas) o
al conocimiento disponible (información incompleta, causas desconocidas, falta de acuerdo entre
los expertos, etc.).

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 15


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Al ser estas características muy


numerosas, podemos decir que son raros
los SE que cumplen todos estos
requisitos. Sin embargo esta relación
sirve para centrar la noción de SE,
mediante el examen de los SE
teóricamente perfectos.

0.3.2 Estructura Básica de un Sistema Experto


El esquema básico de un sistema experto se muestra en la figura 1.1

Figura.1.1 Esquema básico de un SE


Allí se identifican fundamentalmente dos módulos: el conocimiento y el razonamiento.
Típicamente, un ingeniero de conocimiento se entrevista con un experto del dominio para
aclarar el conocimiento del experto, que más tarde se traduce a reglas. Así pues, el módulo de
conocimiento está conformado en base a reglas. El módulo de razonamiento está constituido
por el mecanismo de inferencia que permite generar conclusiones a partir de un conjunto de
hechos tratados por el módulo de conocimiento. Tras construirse el sistema inicial, debe
refinarse iterativamente hasta conseguir un resultado de alto nivel.
En la estructura [2] clásica de un sistema experto el motor de inferencia es el elemento central
encargado de coordinar todos los demás. Entre ellos, tiene especial importancia la base de
conocimiento pues, como su nombre indica, contiene el conocimiento relativo al dominio.
Generalmente consta de un conjunto de reglas, un conjunto de marcos, una red o una
combinación de varios de ellos.

Figura 1.2 Estructura clásica de un sistema experto

2 Ésta es la estructura clásica, aplicable sobre todo a los sistemas basados en reglas.
Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 16
APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

El tercer elemento clave de un sistema experto es el interfaz de usuario. Aparentemente, su


importancia es secundaria. Sin embargo, la aceptación de un sistema experto por parte de sus
destinatarios depende en gran medida de que el interfaz sea potente, fácil de manejar y
agradable.
A diferencia de la base de conocimiento, que es estática, existe una base de afirmaciones
dinámica, donde el motor de inferencia almacena las conclusiones que va obteniendo, y a su vez
busca en ella las premisas que le permitan obtener otras nuevas. El contenido de la base de
afirmaciones es diferente para cada consulta que se realiza.
Por último, hay un componente de poca importancia conceptual, pero que resulta
imprescindible en la práctica: una base de datos gestionada por el programa, pues en casi todas
las aplicaciones de la vida real se hace necesario almacenar y recuperar de forma eficiente
grandes cantidades de información.
Conviene insistir en la diferencia entre base de datos y base de conocimiento. La primera
almacena información puntual; por ejemplo, "el paciente tiene 36 años, pesa 75 Kg., mide 1'73,
padeció fiebre reumática, etc.". La base de conocimiento, en cambio, contiene información sobre
como relacionar los datos y los conceptos entre sí: "la fiebre reumática produce estenosis mitral
en el 30% de las personas menores de 40 años".
a) Base de Conocimientos: es donde se almacena el conocimiento del campo a desarrollar. Los
conocimientos que se suelen almacenar son de cuatro tipos: conocimiento objetivo, que
describe la situación real del sistema; conocimiento de sucesos, relacionado con los sucesos
que ocurren en el tiempo de ejecución; conocimiento del funcionamiento del sistema, de
cómo se hacen las cosas, y metaconocimiento, que relaciona los anteriores. Contiene el
conocimiento del tema, generalmente proporcionado por un experto en el tema,
convenientemente formalizado y estructurado. La representación del conocimiento por lo
general es sencilla y mediante reglas.
Una labor fundamental es la Adquisición del Conocimiento y su representación mediante
alguna de las formas que veremos más adelante, ya sea lógica, frames o redes semanticas.
Una de las técnicas más usadas son las entrevistas con los responsables del proceso, donde
se consume la mayoría del tiempo. Además se suelen usar las bases de datos existentes en el
sistema, añadir modelos matemáticos o heurísticos, y analizar el sistema mediante
programas de simulación. También en entornos dinámicos, como los sistemas de
producción, se adquiere conocimiento con el tiempo
b) Base de hechos: representa el conocimiento del estado del sistema en un cierto instante.
Usualmente se representa en una base de datos, y su información está directamente enlazada
con la base de conocimientos. Un hecho puede provocar el disparo de una regla.
c) Motor de Inferencia: utiliza la base de conocimiento y de hechos combinándolas y
fusionándolas, para realizar una serie de razonamientos acerca del problema en cuestión.
Funciona como un supervisor, extrae conclusiones a partir de los datos simbólicos que están
almacenados en las bases de hechos y de conocimiento. Dependen en gran medida de la
representación elegida; por su importancia analizaremos los motores de inferencia basados
en reglas. Para obtener conclusiones, los expertos utilizan diferentes mecanismos y
estrategias de inferencia y control. Entre los mecanismos de inferencia están, [Gutiérrez,
1994]: Modus Ponens y Modus Tollens.
Las estrategias de inferencia pueden ser simples o compuestas. Estas últimas permiten
estructurar el conocimiento en diferentes niveles, y en este caso, se dá un encadenamiento
de reglas que conducen finalmente a una conclusión.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 17


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

1. Modus Ponens y Modus Tollens: El Modus Ponens es quizás la estrategia de inferencia


mas comúnmente utilizada. Se utiliza para obtener conclusiones simples. En ella, se
examina la premisa de la regla, y si es cierta, la conclusión pasa a formar parte del
conocimiento. Por ejemplo, supóngase que se tiene la regla, “Si A es cierto, entonces B es
cierto" y que se sabe además que “A es cierto". La regla Modus Ponens concluye que B es
cierto." Esta regla de inferencia, que parece trivial, debido a su familiaridad, es la base de
un gran número de sistemas expertos.
La regla de inferencia Modus Tollens se utiliza también para obtener conclusiones
simples. En este caso se examina la conclusión y si es falsa, se concluye que la premisa
también es falsa. Por ejemplo, supóngase de nuevo que se tiene la regla, “Si A es cierto,
entonces B es cierto" pero se sabe que B es falso." Entonces, utilizando la regla Modus
Ponens no se puede obtener ninguna conclusión pero la regla Modus Tollens concluye que
A es falso".
El rendimiento del motor de inferencia depende del conjunto de reglas en su base de
conocimiento. Hay situaciones en las que el motor de inferencia puede concluir utilizando
un conjunto de reglas, pero no puede, utilizando otro (aunque estos sean lógicamente
equivalentes).
2. Encadenamiento de Reglas: Una de las estrategias de inferencia más utilizadas para
obtener conclusiones compuestas es el llamado encadenamiento de reglas. Esta estrategia
puede utilizarse cuando las premisas de ciertas reglas coinciden con las conclusiones de
otras. Cuando se encadenan las reglas, los hechos pueden utilizarse para dar lugar a
nuevos hechos. Esto se repite sucesivamente hasta que no pueden obtenerse más
conclusiones. Existen varios algoritmos de búsqueda a lo largo de las reglas para inferir
conclusiones a partir de los hechos y las reglas. Todos los algoritmos son del tipo "pattern-
matching", que van disparando reglas a medida que se cumplen las condiciones.
Se pueden diferenciar dos mecanismos de inferencia:
- Encadenamiento hacia adelante: se extraen conclusiones a partir del cumplimiento de las
condiciones de ciertas reglas que, a su vez, provocarán el cumplimiento de las condiciones en
otras reglas hasta que no se cumplan en ninguna de ellas.
- Encadenamiento hacia atrás: se suponen ciertas las conclusiones de una regla y, como
consecuencia, se van disparando aquellas reglas que provocarían la regla original. El proceso
acaba si no se cumplen las condiciones de las reglas o si se cumplen para todas las reglas.
Es importante destacar que la base de conocimientos y el motor de inferencia son
sistemas independientes, por lo que se han desarrollado herramientas que únicamente
necesitan la implementación del conocimiento, llevando incorporado el motor de
inferencia.
d) Módulo explicativo: es el módulo que explica al usuario la estrategia de solución encontrada
y el por qué de las decisiones tomadas. Es el que permite justificar y explicar el análisis
completo del problema y las soluciones propuestas, así como la semejanza o diferencia entre
dicha solución y las de los casos históricos.
El proceso completo que se realiza en un sistema de razonamiento basado en casos se puede
representar como un ciclo de actividades:
- RECUPERAR el o los casos más parecidos al problema actual. Para ello el sistema utiliza la librería
de índices.
- REUTILIZAR la información y el conocimiento de dicho caso para intentar resolver el problema.
- REVISAR la solución propuesta si es necesario.
- RETENER la parte útil de esta experiencia para ser utilizada en la resolución de futuros
problemas.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 18


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

e) Interfaz de usuario: permite la comunicación entre el usuario y el sistema experto. El


usuario puede consultar con el sistema a través de menús, gráficos, entre otros, y éste le
responde con resultados. También es interesante mostrar la forma en que extrae las
conclusiones a partir de los hechos. En sistemas productivos se cuida la forma de presentar
al operador las órdenes obtenidas del sistema experto, debido a que información excesiva o
confusa dificulta la actuación en tiempo real.
f) Módulo de adquisición del conocimiento: a través de este componente el ingeniero del
conocimiento o el experto del tema puede construir inicialmente el sistema o actualizar el
conocimiento de la base de conocimientos en general.
Permite incorporar los hechos y las reglas al sistema y probar y depurar los cambios realizados.
Adicionalmente, por medio de éste se pueden realizar actividades relacionadas con la
configuración del sistema, específicamente del motor de inferencia, de acuerdo con las
necesidades del usuario.
Una forma básica de integrar un sistema experto en el mecanismo de control es la mostrada en
la figura 1.4, donde el sistema recoge la información en tiempo real del proceso y la procesa
para dar respuesta al usuario.
Los sistemas expertos parecen adecuados para la utilización como apoyo a la toma de
decisiones en tiempo real, y como aprendizaje en modo estudio. La mayoría de los sistemas
expertos que se utilizan en control de la producción monitorizan los resultados para que el
operador tome la decisión.

Figura 1.4 SE integrado a un mecanismo de control

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 19


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

La implementación de un sistema experto completo obliga al desarrollo de cada uno de los


elementos anteriores a través de lenguajes o herramientas de desarrollo. Existen cuatro
alternativas para la implementación de un sistema experto:
- Lenguajes de alto nivel (HLL): son lenguajes de propósito general (C, Fortran, Basic,...). Tienen
como ventajas su eficiencia, su familiaridad y la portabilidad a cualquier entorno, pero el
inconveniente de no estar preparados para una programación basada en símbolos.
- Lenguajes simbólicos: fundamentalmente LISP y PROLOG. Son los lenguajes de alto nivel más
utilizados por su adaptación a la lógica de la base de conocimientos representada mediante
símbolos, y por su mecanismo de extraer conclusiones. Su eficiencia aumenta en estaciones de
trabajo diseñadas para dichos lenguajes.
- Herramientas de desarrollo (shells): son programas preparados para el desarrollo de sistemas
expertos pues incorporan el motor de inferencia, independiente de las bases de hechos y de
conocimiento. El programador se limita a traducir dichas bases a un lenguaje preparado a tal
efecto, pudiendo enlazarse con otros lenguajes para el desarrollo de funciones adicionales. Suelen
estar desarrollados en CLIPS, LISP o PROLOG para aumentar su eficiencia. La flexibilidad es
menor, aunque suelen incorporar procesadores de texto, gráficos y herramientas de análisis.
- Entornos de desarrollo (environments): añaden a los shells el uso de un entorno gráfico
(ventanas, iconos,...) que facilita el desarrollo del sistema experto. Tienen como ventaja la
disminución del tiempo de desarrollo, pero suelen ser caros y poco flexibles.
Los shells son los más usados para el desarrollo de sistemas expertos, mientras que el PROLOG
está muy extendido en Europa y Japón, el LISP lo está en Estados Unidos. Los entornos aún
ocupan un sector minoritario pero la tendencia a su utilización va en aumento.

Figura 1.5 Componentes de un SE. Las flechas representan el flujo de la información.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 20


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

La base de conocimiento es el pilar central de un SBC, ya que es el depósito donde se almacena


el conocimiento del que éste dispone sobre un dominio específico. La Ingeniería del
Conocimiento (IC) es la disciplina de la Inteligencia Artificial (IA) encargada de realizar hacer
explícitos los conocimientos de un dominio en una BC separada del resto del sistema en el que
se integra. El ingeniero del conocimiento desempeña la tarea de educir el conocimiento de los
denominados expertos del dominio, que son aquellas personas que albergan el conocimiento
que se desea representar en una BC, es decir, aquel que es útil para comprender y resolver
problemas de un determinado campo de aplicación.
Las componentes, en detalle [Gámez y Puerta, 1998], se muestran esquemáticamente en la
Figura 1.5 y se explican seguidamente
La Componente Humana
Un sistema experto es generalmente el resultado de la colaboración de uno o varios expertos
humanos especialistas en el tema de estudio y los ingenieros del conocimiento, con los usuarios
en mente. Los expertos humanos suministran el conocimiento básico en el tema de interés, y
los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema
experto pueda entender. La colaboración de los expertos humanos, los ingenieros del
conocimiento y los usuarios es, quizás, el elemento más importante en el desarrollo de un
sistema experto. Esta etapa requiere una enorme dedicación y un gran esfuerzo debido a los
diferentes lenguajes que hablan las distintas partes y a las diferentes experiencias que tienen.
La Base de Conocimiento
Es una estructura de datos que contiene una gran cantidad de información sobre un tema
específico, generalmente introducida por un experto en dicho tema (se puede asociar a una
memoria permanente), sobre el cual se desarrolla la aplicación. Este conocimiento lo constituye
la descripción de:
- Objetos a tener en cuenta y sus relaciones
- Casos particulares o excepciones y diferentes estrategias de resolución con sus condiciones de
aplicación (meta-conocimiento, es decir, conocimiento sobre el conocimiento)
Los especialistas son responsables de suministrar a los ingenieros del conocimiento una base
de conocimiento ordenada y estructurada, y un conjunto de relaciones bien definidas y
explicadas. Esta forma estructurada de pensar requiere que los expertos humanos repiensen,
reorganicen, y reestructuren la base de conocimiento y, como resultado, el especialista se
convierte en un mejor conocedor de su propio campo de especialidad.
Hay que diferenciar entre datos y conocimiento. El conocimiento se refiere a afirmaciones de
validez general tales como reglas, distribuciones de probabilidad, etc. Los datos se refieren a la
información relacionada con una aplicación particular. Por ejemplo, en diagnóstico médico, los
síntomas, las enfermedades y las relaciones entre ellos, forman parte del conocimiento,
mientras los síntomas particulares de un paciente dado forman parte de los datos. Mientras el
conocimiento es permanente, los datos son efímeros, es decir, no forman parte de la
componente permanente de un sistema y son destruidos después de usarlos. El conocimiento
se almacena en la base de conocimiento y los datos se almacenan en la memoria de trabajo.
Todos los procedimientos de los diferentes sistemas y subsistemas que son de carácter
transitorio se almacenan también en la memoria de trabajo.
Memoria de Trabajo
Es una memoria auxiliar que contiene a la vez los datos sobre la situación concreta en la cual se
va a realizar la aplicación (hechos iniciales que describen el enunciado del problema a resolver)
y los resultados intermedios obtenidos a lo largo del procedimiento de deducción.
Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 21
APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Esta base (memoria temporal) no se conserva (salvo por necesidades del usuario) y depende
exclusivamente de la situación estudiada.
Subsistema de Adquisición de Conocimiento
El conocimiento puede introducirse por el experto o por el ingeniero de conocimiento (en este
caso el módulo puede contener funciones de interfase con el usuario) o provenir directamente
de sensores, bases de datos, otros software… Debe, pues, recibir el conocimiento, verificar la
verosimilitud de éste, organizar la coherencia de la base de conocimientos y transformar los
datos en conocimientos incorporados al sistema.
El subsistema de adquisición de conocimiento controla el flujo del nuevo conocimiento que
fluye del experto humano a la base de datos. El sistema determina qué nuevo conocimiento se
necesita, o si el conocimiento recibido es en realidad nuevo, es decir, si debe incluirse en la base
de datos y, en caso necesario, incorpora estos conocimientos a la misma.
Si el conocimiento inicial es muy limitado y no se pueden sacar conclusiones, el motor de
inferencia utiliza el subsistema de adquisición de conocimiento para obtener el conocimiento
necesario y continuar con el proceso de inferencia hasta que se hayan sacado conclusiones. En
algunos casos, el usuario puede suministrar la información requerida para éste y otros
objetivos. De ello resulta la necesidad de una interfase de usuario y de una comprobación de la
consistencia de la información suministrada por el usuario antes de introducirla en la memoria
de trabajo.
Si bien estos módulos no existen en todos los SE, o están organizados de diferentes formas, la
función que realizan son de todo punto indispensable en estos sistemas.
Control de la Coherencia
El subsistema de control de la coherencia ha aparecido en los sistemas expertos muy
recientemente. Sin embargo, es una componente esencial de un sistema experto. Este
susbsistema controla la consistencia de la base de datos y evita que unidades de conocimiento
inconsistentes entren en la misma.
En situaciones complejas incluso un experto humano puede formular afirmaciones
inconsistentes. Por ello, sin un subsistema de control de la coherencia, unidades de
conocimiento contradictorio pueden formar parte de la base de conocimiento, dando lugar a un
comportamiento insatisfactorio del sistema. Es también bastante común, especialmente en
sistemas con mecanismos de propagación de incertidumbre, que se llegue a conclusiones
absurdas o en conflicto como, por ejemplo, situaciones en las que el sistema genera
probabilidades mayores que la unidad o negativas. Por ello, el subsistema de control de la
coherencia comprueba e informa a los expertos de las inconsistencias. Por otra parte, cuando
se solicita información de los expertos humanos, éste subsistema informa sobre las
restricciones que ésta debe cumplir para ser coherente con la existente en la base de
conocimiento. De esta forma, ayuda a los expertos humanos a dar información fiable.
El Motor de Inferencia
El motor de inferencia es el corazón de todo sistema experto, ponen en acción los elementos de
la base de conocimientos para construir los razonamientos. El cometido principal de esta
componente es el de sacar conclusiones aplicando el conocimiento a los datos. Por ejemplo, en
diagnóstico médico, los síntomas de un paciente (datos) son analizados a la luz de los síntomas
y las enfermedades y de sus relaciones (conocimiento).
Ejecuta las inferencias (deducciones) en el curso del proceso de resolución, bien sea por
modificación, bien por adjunción de los elementos de la base de hechos.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 22


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Frente a una situación dada, detecta los conocimientos que interesan, los utiliza, los encadena,
y construye un plan de resolución independiente del dominio y especificidad del caso tratado.
Las conclusiones del motor de inferencia pueden estar basadas en conocimiento determinista
o conocimiento probabilístico. Como puede esperarse, el tratamiento de situaciones de
incertidumbre (probabilísticas) puede ser considerablemente más difícil que el tratamiento de
situaciones ciertas (deterministas). En muchos casos, algunos hechos (datos) no se conocen con
absoluta certeza. Por ejemplo, piénsese en un paciente que no está seguro de sus síntomas.
Puede darse el caso de tener que trabajar con conocimiento de tipo no determinista, es decir,
de casos en los que se dispone sólo de información aleatoria o difusa. El motor de inferencia es
también responsable de la propagación de este conocimiento incierto.
De hecho, en los sistemas expertos basados en probabilidad, la propagación de incertidumbre
es la tarea principal del motor de inferencia, que permite sacar conclusiones bajo
incertidumbre. Esta tarea es tan compleja que da lugar a que ésta sea probablemente la
componente más débil de casi todos los sistemas expertos existentes. Por esta razón, la mayor
parte de este libro se dedica al análisis y resolución del problema de la propagación de
incertidumbre.
Interface de Usuario
La interface de usuario es el enlace entre el sistema experto y el usuario. También denominado
Sistema de Consulta. Es el que gobierna el diálogo entre el usuario y el sistema. Su objetivo es
el de permitir un diálogo en un lenguaje cuasi-natural con la máquina. Además, este módulo
“traduce” el español (o cualquier otra lengua) al lenguaje interno y viceversa.
Por ello, para que un sistema experto sea una herramienta efectiva, debe incorporar
mecanismos eficientes para mostrar y obtener información de forma fácil y agradable. Un
ejemplo de la información que tiene que ser mostrada tras el trabajo del motor de inferencia,
es el de las conclusiones, las razones que expliquen tales conclusiones y una explicación de las
acciones iniciadas por el sistema experto. Por otra parte, cuando el motor de inferencia no
puede concluir debido, por ejemplo, a la ausencia de información, la interface de usuario es un
vehículo para obtener la información necesaria del usuario. Consecuentemente, una
implementación inadecuada de la interface de usuario que no facilite este proceso minaría
notablemente la calidad de un sistema experto. Otra razón de la importancia de la interface de
usuario es que los usuarios evalúan comúnmente los sistemas expertos y otros sistemas por la
calidad de dicha interface más que por la del sistema experto mismo, aunque no se debería
juzgar la calidad de un libro por su portada.
El Subsistema de Ejecución de Ordenes
El subsistema de ejecución de órdenes es la componente que permite al sistema experto iniciar
acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia. Como
ejemplos, un sistema experto diseñado para analizar el tráfico ferroviario puede decidir
retrasar o parar ciertos trenes para optimizar el tráfico global, o un sistema para controlar una
central nuclear puede abrir o cerrar ciertas válvulas, mover barras, etc., para evitar un
accidente. La explicación de las razones por las que se inician estas acciones pueden darse al
usuario mediante el subsistema de explicación.
El Subsistema de Explicación
Permite trazar el camino tomado en el razonamiento (inferencias efectuadas). Este módulo
aporta una ayuda considerable al informático para refinar la gestión del motor de inferencia y
le es igualmente útil al experto, en la construcción y verificación de la coherencia de la base de
conocimiento y explica, también, al usuario, cómo ha deducido tal hecho y por qué plantea tal
cuestión.
Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 23
APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

En muchos dominios de aplicaciones, es necesaria la explicación de las conclusiones debido a


los riesgos asociados con las acciones a ejecutar. Por ejemplo, en el campo del diagnóstico
médico, los doctores son responsable últimos de los diagnósticos, independientemente de las
herramientas técnicas utilizadas para sacar conclusiones. En estas situaciones, sin un
subsistema de explicación, los doctores pueden no ser capaces de explicar a sus pacientes las
razones de su diagnóstico.
El Subsistema de Aprendizaje
Una de las principales características de un sistema experto es su capacidad para aprender.
Diferenciaremos entre aprendizaje estructural y aprendizaje paramétrico.
Por aprendizaje estructural nos referimos a algunos aspectos relacionados con la estructura del
conocimiento (reglas, distribuciones de probabilidad, etc.). Por ello, el descubrimiento de
nuevos síntomas relevantes para una enfermedad o la inclusión de una nueva regla en la base
de conocimiento son ejemplos de aprendizaje estructural. Por aprendizaje paramétrico nos
referimos a estimar los parámetros necesarios para construir la base de conocimiento. Por ello,
la estimación de frecuencias o probabilidades asociadas a síntomas o enfermedades es un
ejemplo de aprendizaje paramétrico.
Otra característica de los sistemas expertos es su habilidad para obtener experiencia a partir
de los datos disponibles. Estos datos pueden ser obtenidos por expertos y no expertos y pueden
utilizarse por el subsistema de adquisición de conocimiento y por el subsistema de aprendizaje.
De las componentes antes mencionadas puede verse que los sistemas expertos pueden realizar
varias tareas. Estas tareas incluyen, pero no se limitan a, las siguientes:
 Adquisición de conocimiento y la verificación de su coherencia; por lo que el sistema experto
puede ayudar a los expertos humanos a dar conocimiento coherente.
 Almacenar (memorizar) conocimiento.
 Preguntar cuándo 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.
La unión del motor de inferencia y de los interfaces, forma lo que se denomina "sistema
esencial" o más sencillamente: una herramienta software de ayuda al desarrollo de los SE. Basta
administrarle una experiencia específica para hacerle competente en un dominio cualquiera.
De hecho, la constitución de la base de conocimiento sigue siendo, a pesar de ello, larga y
delicada, puesto que es necesario extraer el conocimiento del experto y transferirlo al SE. Este
proceso constituye de por sí un nuevo dominio de investigación independiente, la cognimática.
A las personas que realizan este proceso se les denomina cognimáticos o ingenieros de
conocimiento.

0.3.3 Ejemplos, Tipos y Ventajas


0.3.3.1 Ejemplos Ilustrativos
Los sistemas expertos tienen muchas aplicaciones. En esta sección se dan unos pocos ejemplos
ilustrativos del tipo de problemas que pueden resolverse mediante sistemas expertos. Otros
ejemplos prácticos se dan a lo largo del libro.
Ejemplo 1.1 Transacciones bancarias. No hace mucho, para hacer una transacción
bancaria, tal como depositar o sacar dinero de una cuenta, uno tenía que visitar el banco en
horas de oficina. Hoy en día, esas y otras muchas transacciones pueden realizarse en cualquier
momento del día o de la noche usando los cajeros automáticos que son ejemplos sencillos de
sistemas expertos. De hecho, se pueden realizar estas transacciones desde casa
comunicándose con el sistema experto mediante la línea telefónica.
Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 24
APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Ejemplo 1.2 Control de tráfico. El control de tráfico es una de las aplicaciones mas
importantes de los sistemas expertos. No hace mucho tiempo, el flujo de tráfico en las calles
de una ciudad se controlaba mediante guardias de tráfico que controlaban el mismo en las
intersecciones. Hoy se utilizan sistemas expertos que operan automáticamente los semáforos
y regulan el flujo del tráfico en las calles de una ciudad y en los ferrocarriles. En la Sección 2.6
y en los ejercicios del Capítulo 2 se dan ejemplos de estos sistemas.
Ejemplo 1.3 Problemas de planificación. Los sistemas expertos pueden utilizarse también
para resolver problemas complicados de planificación de forma que se optimicen ciertos
objetivos como, por ejemplo, la organización y asignación de aulas para la realización de
exámenes finales en una gran universidad, de forma tal que se logren los objetivos siguientes:
- Eliminar las coincidencias de asignación simultánea de aulas: Sólo se puede realizar un
examen en cada aula al mismo tiempo.
- Asientos suficientes: Un aula asignada para un examen debe tener al menos dos asientos
por estudiante.
- Minimizar los conflictos temporales: Minimizar el número de alumnos que tienen exámenes
coincidentes.
- Eliminar la sobrecarga de trabajo: Ningún alumno debe tener más de dos exámenes en un
periodo de 24 horas.
- Minimizar el número de exámenes realizados durante las tardes.
Otros ejemplos de problemas de planificación que pueden ser resueltos mediante sistemas
expertos son la planificación de doctores y enfermeras en un gran hospital, la planificación en
una gran factoría, y la planificación de autobuses para las horas de congestión o de días
festivos.
Ejemplo 1.4 Diagnóstico médico. Una de las aplicaciones mas importantes de los sistemas
expertos tiene lugar en el campo médico, donde estos pueden ser utilizados para contestar a
las siguientes preguntas:
1. ¿Como se puede recoger, organizar, almacenar, poner al día y recuperar la información
médica (por ejemplo, registros de pacientes) de una forma eficiente y rápida? Por ejemplo,
supóngase que un doctor en un centro médico está interesado en conocer información sobre
una cierta enfermedad (E) y tres síntomas asociados (S 1, S 2, y S 3). Se puede utilizar un
sistema experto para buscar en la base de datos, extraer y organizar la información deseada.
Esta información puede resumirse en tablas tales como la dada en la Tabla 1.1 o en gráficos
como el de la Figura 1.2.
2. ¿Como se puede aprender de la experiencia? Es decir, como se actualiza el conocimiento de
los doctores en medicina cuando el número de pacientes que estos tratan aumenta?
3. Supuesto que un paciente presenta un conjunto de síntomas, ¿como se decide qué
enfermedad es la que mas probablemente tiene el paciente?
4. ¿Cuáles son las relaciones entre un conjunto (normalmente no observable) de enfermedades
y un conjunto (observable) de síntomas? En otras palabras, ¿qué modelos pueden utilizarse
para describir las relaciones entre los síntomas y las enfermedades?
5. Dado que el conjunto de síntomas conocidos no es suficiente para diagnosticar la
enfermedad con cierto grado de certeza, ¿qué información adicional debe ser obtenida (por
ejemplo, ¿qué síntomas adicionales deben ser identificados? o ¿qué pruebas médicas deben
realizarse?).
6. ¿Cuál es el valor de cada una de éstas piezas de información? En otras palabras, ¿cuál es la
contribución de cada uno de los síntomas adicionales o pruebas a la toma de decisión?

0.3.3.2 ¿Por Que los Sistemas Expertos?


El desarrollo o la adquisición de un sistema experto es generalmente caro, pero el
mantenimiento y el coste marginal de su uso repetido es relativamente bajo. Por otra parte, la
ganancia en términos monetarios, tiempo, y precisión resultantes del uso de los sistemas
expertos son muy altas, y la amortización es muy rápida. Sin embargo, antes de desarrollar o
adquirir un sistema experto debe realizarse un análisis de factibilidad y de coste-beneficio. Hay
varias razones para utilizar sistemas expertos. Las más importantes son:

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 25


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

1. Con la ayuda de un sistema experto, personal con poca experiencia puede resolver
problemas que requieren un conocimiento de experto. Esto es también importante en casos
en los que hay pocos expertos humanos. Además, el número de personas con acceso al
conocimiento aumenta con el uso de sistemas expertos.
2. El conocimiento de varios expertos humanos puede combinarse, lo que da lugar a sistemas
expertos mas fiables, ya que se obtiene un sistema experto que combina la sabiduría
colectiva de varios expertos humanos en lugar de la de uno solo.
3. Los sistemas expertos pueden responder a preguntas y resolver problemas mucho mas
rápidamente que un experto humano. Por ello, los sistemas son muy valiosos en casos en
los que el tiempo de respuesta es crítico.
4. En algunos casos, la complejidad del problema impide al experto humano resolverlo. En
otros casos la solución de los expertos humanos no es fiable. Debido a la capacidad de los
ordenadores de procesar un elevadísimo número de operaciones complejas de forma rápida
y aproximada, los sistemas expertos suministran respuestas rápidas y fiables en situaciones
en las que los expertos humanos no pueden.
5. Los sistemas expertos pueden ser utilizados para realizar operaciones monótonas,
aburridas e inconfortables para los humanos. En verdad, los sistemas expertos pueden ser
la única solución viable en una situación en la que la tarea a realizar desborda al ser humano
(por ejemplo, un avión o una cápsula espacial dirigida por un sistema experto).
6. Se pueden obtener enormes ahorros mediante el uso de sistemas expertos.
El uso de los sistemas expertos se recomienda especialmente en las situaciones siguientes:
- Cuando el conocimiento es difícil de adquirir o se basa en reglas que sólo pueden ser
aprendidas de la experiencia.
- Cuando la mejora continua del conocimiento es esencial y/o cuando el problema está sujeto
a reglas o códigos cambiantes.
- Cuando los expertos humanos son caros o difíciles de encontrar.
- Cuando el conocimiento de los usuarios sobre el tema es limitado.

0.3.3.3 Tipos de Sistemas Expertos


Los problemas con los que pueden tratar los sistemas expertos pueden clasificarse en dos tipos:
problemas esencialmente deterministas y problemas esencialmente estocásticos. Por ejemplo,
aunque el ejemplo 1.1 (transacciones bancariass) y el Ejemplo 1.2 (control de tráfico) pueden
contener algunos elementos de incertidumbre, son esencialmente problemas deterministas.
Por otra parte, en el campo médico (ver Ejemplo 1.4) las relaciones entre síntomas y
enfermedades se conocen sólo con un cierto grado de certeza (la presencia de un conjunto de
síntomas no siempre implica la presencia de una enfermedad). Estos tipos de problemas
pueden también incluir algunos elementos deterministas, pero se trata fundamentalmente de
problemas estocásticos.
Consecuentemente, Los sistemas expertos
pueden clasificarse en dos tipos principales
según la naturaleza de problemas para los que
están diseñados: deterministas y estocásticos.
Los problemas de tipo determinista pueden ser
formulados usando un conjunto de reglas que
relacionen varios objetos bien definidos.,
porque sacan sus conclusiones basándose en
un conjunto de reglas utilizando un mecanismo
de razonamiento lógico.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 26


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

En situaciones inciertas, es necesario introducir algunos medios para tratar la incertidumbre.


Por ejemplo, algunos sistemas expertos usan la misma estructura de los sistemas basados en
reglas, pero introducen una medida asociada a la incertidumbre de las reglas y a la de sus
premisas. En este caso se pueden utilizar algunas fórmulas de propagación para calcular la
incertidumbre asociada a las conclusiones. Durante las últimas décadas han sido propuestas
algunas medidas de incertidumbre. Algunos ejemplos de estas medidas son los factores de
certeza, la lógica difusa, etc.
Otra medida intuitiva de incertidumbre es la probabilidad, en la que la distribución conjunta de
un conjunto de variables se usa para describir las relaciones de dependencia entre ellas, y se
sacan conclusiones usando fórmulas muy conocidas de la teoría de la probabilidad. Los
sistemas expertos que utilizan la probabilidad como medida de incertidumbre se conocen como
sistemas expertos probabilístico y la estrategia de razonamiento que usan se conoce como
razonamiento probabilístico, o inferencia probabilística.
Estos modelos, que incluyen las redes de Markov y las Bayesianas, se basan en una
representación gráfica de las relaciones entre las variables. Esta representación conduce no
sólo a formas más eficientes de definir la distribución conjunta de probabilidad sino también a
una propagación de incertidumbre muy eficiente, que permite sacar conclusiones.
El principal debate al que dieron origen los sistemas expertos fue el de establecer qué método
era el más adecuado para representar el conocimiento: lógica, reglas, redes o marcos, entre
otros.
En general, cada método de representación tenía asociada una forma propia de realizar
inferencias. En lugar de optar por un único método, se prefirió estudiar qué combinación de los
métodos existentes resultaba conveniente en cada caso concreto. La mayoría de sistemas
expertos se construyeron en base a reglas y utilizaban objetos, los cuales comparten muchas de
las ideas propuestas por Marvin Minsky, para los marcos [Minsky, 1975].

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 27


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

0.3.4 Aplicaciones
La aplicación de Sistemas Expertos será adecuada allí donde los expertos dispongan de
conocimientos complejos en un área estrechamente delimitada, donde no existan algoritmos
elaborados (o donde los existentes no puedan solucionar algún problema) y no existan teorías
completas. Otro campo de aplicación es allí donde hay teorías, pero resulta prácticamente
imposible analizar todos los casos teóricamente imaginables mediante algoritmos y en un
espacio de tiempo razonable. En estas situaciones hace falta el conocimiento que el experto ha
adquirido por experiencia, para llegar a una solución en un espacio de tiempo aceptable.
Los dos tipos de problemas descritos se caracterizan además por el hecho de que, aunque es
posible la existencia de una o más soluciones, la vía de soluciones no esta previamente fijada. Sin
embargo, el experto encuentra una solución al problema gracias a la información que posee del
problema y a su experiencia. Mientras esta solución sea susceptible de repetición y el
planteamiento del problema sea claro, existe un razonamiento que puede ser reproducido por
un Sistema Experto.
Debido a que la estructuración y la implementación del conocimiento del experto requiere una
gran cantidad de trabajo, solo valdrá la pena el esfuerzo de crear un sistema experto cuando un
conocimiento sea valido durante un largo espacio de tiempo y vaya a ser utilizado por el mayor
número posible de personas.
Según la clase de problemas hacia los que estén orientados, podemos clasificar los Sistemas
Expertos en diversos tipos entre los que cabe destacar diagnosis, pronóstico planificación,
reparación e instrucción.
Si se clasifica a los tipos de Sistemas Expertos de acuerdo a la función que realizan, estos
pueden ser de:
- INTERPRETACIÓN: infieren la descripción de situaciones por medio de sensores de datos. Estos
S.E. usan datos reales, con errores, con ruidos, incompletos etc. Ejemplos: medición de
temperatura, reconocimiento de voz, análisis de señales etc.
- PREDICCIÓN: infieren probables consecuencias de situaciones dadas. Algunas veces usan
modelos de simulación para generar situaciones que puedan ocurrir. Ejemplos: predecir
daños a cosechas por algún tipo de insecto.
- DIAGNOSTICO: infieren las fallas de un sistema en base a los síntomas. Utilizan las
características de comportamiento, descripción de situaciones o conocimiento sobre el
diseño de un componente para inferir las causas de la falla. Ejemplos: diagnostico de
enfermedades en base a síntomas, encontrar componentes defectuosos o fallas en circuitos.
- DISEÑO: configuración de objetos. Utilizan un conjunto de limitaciones y restricciones para
configurar objetos. Utilizan un proceso de análisis para construir un diseño parcial y una
simulación para verificar o probar las ideas. Ejemplos: configuración de equipos de oficina,
de equipos de computo.
- PLANTACIÓN: diseñan un curso completo de acción, se descompone la tarea en un subconjunto
de tareas. Ejemplo: transferir material de un lugar a otro, comunicaciones, ruteo,
planificación financiera.
- MONITOREO: comparan observaciones del comportamiento del sistema con el
comportamiento standard, se compara lo actual con lo esperado. Ejemplo: asistir a un
paciente de cuidados intensivos, trafico aéreo, uso fraudulento de tarjetas de créditos
- DEPURACIÓN: (debugging) sugieren remedios o correcciones de una falla. Ejemplo: sugerir el
tipo de mantenimiento a cables dañados, la prescripción medica a un paciente.
- REPARACIÓN: sigue un plan para administrar un remedio prescrito. Poco se ha hacho, requiere
planeación, revisión y diagnostico.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 28


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

- INSTRUCCIÓN: diagnostican, revisan y reparan el comportamiento de un estudiante. Ejemplo:


educar a un estudiante de medicina, usa un modelo del estudiante y planea la corrección de
deficiencias.
- CONTROL: gobierna el comportamiento del sistema. Requieren interpretar una situación
actual, predecir el futuro, diagnosticar las causas de los problemas que se pueden anticipar,
formular un plan para remediar estas fallas y monitorear la ejecución de este.
Los sistemas de diagnosis siguen un proceso de búsqueda de las razones del funcionamiento
incorrecto de un sistema a partir de la información disponible. Aquí se podrían tener en cuenta
tanto aplicaciones de diagnóstico [3] médico como de averías.
El campo de la diagnosis abarca otras aplicaciones además de las médicas (si bien pueden ser
estas últimas las más conocidas).
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 [4] problemas, tales como predicciones meteorológicas, predicciones
demográficas, o incluso previsiones de la evolución bursátil entre otros.
Existen también sistemas de planificación, pudiéndose encontrar aplicaciones en este área,
que establecen una secuencia de acciones a realizar encaminadas a la consecución de una serie
de objetivos.
A la persona que esté planeando la estrategia a seguir por su empresa o que tome decisiones en
producción, marketing, distribución o asignación de recursos, los Sistemas Expertos le pueden
demostrar que se pueden tomar decisiones con más conocimiento, llevando a un aumento de
ganancias así como a la obtención de beneficios importantes para la empresa, como el aumento
de su capacidad. En cada estadio de los procesos de 5planificación, decisión y control para las
operaciones de producción, sea ésta automatizada o no, las personas expertas son las que
asesoran, localizan los fallos y dirigen. Ellas son las que ayudan a interpretar la multitud de
datos procedentes de los departamentos de diseño, de la planta de producción y de los
representantes de los clientes, observan modelos procesables en dichos datos, prueban
mentalmente, y con ordenadores, posibles líneas de acción, recomiendan las medidas que la
gerencia debe tomar y ayudan luego a poner en marcha sistemas pensados para conseguir
planificaciones mejores, operaciones más fluidas y una competencia más efectiva.
Los Sistemas Expertos ofrecen procedimientos informatizados para perfeccionar la toma de
decisiones de la gerencia por medio de la combinación del conocimiento que poseen los
expertos acerca del tipo de acciones que tiene que efectuar y la forma y el tiempo en que debe
llevarlas a cabo con la permanencia, lógica, memoria y velocidad de cálculo del ordenador.
El diseño [6] es también un tema de planificación. En este caso, a partir de una serie de
requerimientos y restricciones, se obtiene el objeto que las satisface.

3 Quizá la más conocida, a la vez que la más antigua, podría ser MYCIN. Es un sistema de diagnóstico y prescripción en
medicina, altamente especializado, diseñado para ayudar a los médicos a tratar con infecciones de meningitis y
bacteriana. Dichas infecciones pueden ser fatales y a menudo aparecen durante la hospitalización. El problema se
complica por la necesidad de actuar con rapidez.
4 Quizá la aplicación más conocida sea PROSPECTOR, esto es un sistema para la evaluación de emplazamientos
geológicos (con el que se encontró un yacimiento de mineral importante).
5 Una de tales aplicaciones es el PALLADIAN OPERATIONS ADVISOR (de Palladian Software, Inc., en Estados Unidos),
diseñado específicamente para la dirección de la producción. El programa ayuda a la planificación y programación,
asesorando en lo que se refiere a los programas que reducen el trabajo no deseable en niveles de proceso, ajustan el
volumen de producción a la demanda de clientes y evalúan los cambios en las operaciones desde los puntos de vista
económico y de producción. puede analizar el estado de la combinación de productos para mantener la mayor eficacia
y rentabilidad posible de las operaciones.
6 En este campo, LABEIN (Laboratorio de Ensayos e Investigaciones Industriales, Centro de Investigación tutelado por
el Gobierno Vasco), desarrolló un sistema inteligente para el diseño de motores eléctricos mediante la aplicación de
las tecnologías clásicas de Sistemas Expertos a los sistemas de CAD/CAE de diseño y análisis. El problema que motivó
este proyecto era que ciertos motores, de entre los eléctricos, son de uso frecuente en la industria exigiendo a la vez
Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 29
APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Otro tipo de Sistemas Expertos son los orientados a la reparación [7], sin embargo, no se
puede decir que sea un tipo realmente nuevo, ya que este enfoque abarca diagnosis y
planificación.
Un sistema de instrucción (Sistema Experto para [8] formación) realiza un seguimiento del
proceso de aprendizaje de un estudiante.
Sistemas expertos también se aplican para la toma de decisiones. Los sistemas expertos
como una de las áreas de la inteligencia artificial son muy importantes para todos los que
trabajan en la empresa en los diferentes niveles organizacionales. Los sistemas expertos sirven
para mejorar las actividades de la empresa como por ejemplo compras, control de inventarios,
otorgación de créditos, control de procesos de producción, gestión financiera, configuración de
software, y muchas más aplicaciones, que son inherentes a la formación del Ingeniero
industrial.
Además de las áreas de aplicación ya citadas, existen otras como las relativas a los sistemas de
interpretación, que realizan tareas de inferencia a partir de una serie de datos observables (p.
ej. Análisis de imágenes, o bien interpretación de señal).
Como punto final se puede decir que el futuro de dichas aplicaciones pasa por la imaginación
de cada uno, siempre que el área elegida requiera la presencia de un experto para la obtención
de cualquier tipo de beneficio.
0.3.4.1 Campos de Aplicación

Categoría Tipo de Problema Uso


Deducir situaciones a partir de Análisis de imágenes, reconocimiento del habla,
datos observados. Infieren inversiones financieras, interpretación de
Interpretación descripciones de situaciones a señales de audio, de radar, radio etc.,
partir de observaciones comprensión de voz, análisis de tipos de
provenientes de sensores. grietas…
Predicción:
Meteorológica, previsión del tráfico, evolución de
Infieren las consecuencias la Bolsa, demográfica, tráfico, daños a cosechas
Predicción probables a partir de un por algún tipo de insecto, peste, etc., conflictos
conjunto de situaciones dadas armados basados en informes de inteligencia,
demanda de algún insumo (petróleo, cobre),
dada una situación (geopolítica, económica,
desarrollo)….
Deducir fallos a partir de sus
efectos. Infieren mal
Diagnóstico médico, detección de fallos en
funcionamiento de sistemas a
partir de observaciones. electrónica , Componentes defectuosos de un
Diagnóstico
sistema, fallas de equipos en procesos
Relaciona irregularidades del productivos…
comportamiento observado con
causas posibles

un diseño a medida de cada caso, por ello se creyó conveniente desarrollar una herramienta que asesorase o, incluso,
dirigiera al operador.
7 Se incluyen sistemas como DELTA, que ayuda a los mecánicos en el diagnóstico y reparación de locomotoras diesel-
eléctricas. No solo da consejos expertos, sino que también presenta informaciones por medio de un reproductor de
vídeo. De hecho se podría encasillar a DELTA más en el área de la instrucción que en reparación, dado que además
proporciona ayudas al trabajo que permiten al estudiante determinar si existe o no un determinado problema,
proporcionando también formación específica sobre el modo de realizar ciertas reparaciones.
8 Además de DELTA, existen numerosos sistemas de este tipo; STEAMER, por ejemplo, se creó para enseñar a los
oficiales de la armada los problemas de funcionamiento de una planta de propulsión a vapor, como las que impulsan
a ciertos barcos. El objetivo es dar al estudiante una concepción global de lo que pasa en la planta en cualquier
momento, con la ventaja de que además el modelo de presentación es gráfico (utilizando Interlisp). Otro sistema de
este tipo, aunque en este caso orientado a medicina, es GUIDON, pensado para que lo utilicen las Facultades de
Medicina para formar a los médicos en la realización de consultas.
Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 30
APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Categoría Tipo de Problema Uso


Configurar objetos bajo ciertas
especificaciones.
Diseño de circuitos, automóviles, edificios
Desarrollan configuraciones de
Diseño de circuitos integrados, Diseño de
Diseño objetos basados en
edificios, Creación de moléculas orgánicas
restricciones o exigencias del
complejas, Configuración de equipos
problema. Después de
computacionales…
construidas, verifican que
cumplan las especificaciones
Programación de proyectos e inversiones,
Desarrollar planes para llegar a Planificación militar, Programación de rutas,
Planificación unas metas. Destinados a Programación de robots, Programación de
diseñar planes de acción. comunicaciones, Programación de experimentos,
Creación de planes de vuelo…
Controlar situaciones donde
hay planes vulnerables. Control de centrales nucleares y factorías
Comparan el comportamiento químicas, Monitorear lecturas de instrumentos
Monitorización
de un sistema (observaciones) para detectar condiciones de fallas de equipos
o supervisión
con comportamiento esperado. industriales, Detectar condiciones favorables a
A partir de las diferencias accidentes, Monitoreo de tráfico aéreo…
sugieren acciones correctivas.
Selección del tipo de manutención necesaria
Prescribir remedios para para corregir fallas en cables telefónicos, Elegir
funcionamientos erróneos el procedimiento de manutención para reparar
Depuración Destinados a encontrar los equipamiento (locomotoras, buses, maquinaria
remedios adecuados para el industrial, etc.), Selección de tratamientos de
mal funcionamiento enfermedades vía quimioterapia, Depuración de
programas computacionales…
Efectuar lo necesario para
hacer una corrección
Reparar sistemas informáticos, automóviles,
Destinados a desarrollar y Reparación de automóviles, Reparación de
Reparación ejecutar planes para
equipos electrónicos, Calibración de
administrar un remedio para instrumentos
algún problema ya
diagnosticado

Diagnóstico, depuración y Corrección de errores, enseñanza, Capacitación


corrección de una conducta de personas sobre la operación de
Instrucción equipamiento, Desarrollo de manuales
Desarrollados para instruir en inteligentes, Manuales de diagnósticos de fallas,
el aprendizaje independiente Instrucción sobre algún contenido específico.
Mantener un sistema por un
camino previamente trazado.
Interpreta, predice y supervisa
su conducta.
Destinados a gobernar
mediante un control el
comportamiento general de un
sistema. Interpretan Estrategia militar, control de tráfico aéreo
Control repetitivamente la situación Control de procesos productivos.
actual, predecir el futuro,
Control de operaciones
diagnosticar las causas de los
problemas, formular un plan de
remedio y monitorear su
ejecución con tal de asegurar el
éxito del control. Interactúan
con modelos determinísticos
provenientes de la teoría de
control
Recoger el conocimiento y
Enseñanza Aprendizaje de experiencia
mostrarlo

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 31


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

0.3.5 Manejo del conocimiento en el desarrollo de un Sistema Experto


En el desarrollo de un SE, se deben generar procesos para el manejo del conocimiento.
Dependiendo de la metodología que se siga, estos procesos se hacen en un momento específico.
Es decir, algunas metodologías los incluyen como tareas de una de sus etapas, otras como una
etapa específica y otras como procesos independientes de las etapas pero paralelas a ellas.
Se debe contar con un grupo de personas que estarán interactuando entre sí y que cumplen los
siguientes roles:
 Experto: Es la persona o grupo de personas que tiene(n) el conocimiento teórico y práctico
del área problema. Este experto debe ser reconocido en su área de especialización, lo que
implica que sus colegas lo consideran una persona valiosa por sus conocimientos sobre el
mismo.
 Ingeniero del Conocimiento (IC): Es la persona encargada de construir el sistema. Debe
tener los conocimientos profundos sobre cómo desarrollar sistemas basados en el
conocimiento, conocer las herramientas de su desarrollo, conocer algunas de las estrategias
efectivas de comunicación y tener unos mínimos conocimiento de psicología para poder
interpretar las expresiones y manifestaciones del experto.
 Usuario: Es la persona que va a utilizar el sistema, que se va a ver beneficiado directamente
por la implantación del proyecto. Su conocimiento debe ser considerado al desarrollar el
sistema experto.
En términos generales los procesos que se realizan con el conocimiento son: la adquisición,
representación, manipulación y validación. A continuación se presenta cada uno de ellos, [10].
1) Adquisición del Conocimiento: se refiere a la labor de extracción del conocimiento de las fuentes
estáticas y dinámicas. No debe confundirse con el módulo de adquisición del conocimiento mencionado.
El objetivo final de este proceso es construir los modelos del conocimiento del sistema experto, por ello
se realiza durante todo el desarrollo del sistema, desde el mismo momento en que se comienza a
estudiar el problema y su solución hasta cuando se lleva a cabo su evolución. Dependiendo del tipo de
fuente de conocimiento que se va a utilizar se sigue alguno de los siguientes procedimientos:
1.1) Adquisición del conocimiento de una fuente estática. Una fuente de conocimiento estática es
aquella en la que su contenido no puede variar, por ejemplo un libro, una revista, un artículo. Lo primero
que se debe hacer es seleccionar las fuentes más apropiadas que están relacionadas con el problema
para adquirir los conocimientos básicos del tema en estudio, evaluando todos los recursos que se tengan
disponibles bien sea al interior del ambiente donde se encuentra el problema o fuera de él. Comúnmente,
el experto es quien aconseja qué fuentes estudiar. Luego, se hace un estudio minucioso de ellas para que
así el ingeniero de conocimiento pueda adquirir ese conocimiento básico y fundamental del dominio del
experto y conseguir realizar un proceso de adquisición eficiente y eficaz. Por último, se debe hacer una
comprobación del conocimiento que se extrajo para saber si éste es correcto o no.
1.2) Adquisición del conocimiento de una fuente dinámica. Una fuente de conocimiento dinámica
refleja las características del conocimiento tal como es, la variabilidad, el hecho de ser inexacto, etc. El
hombre forma parte de este tipo de fuente, en particular, el experto. Hay diferentes estrategias para
llevar a cabo la adquisición, se presentan a continuación las más usuales.
- Entrevista directa o formal: Consiste en realizar conversaciones personales entre el Ingeniero del
Conocimiento y la fuente del conocimiento, bien sea el experto o el usuario. Se establece un plan de la
reunión en el que se determina el objetivo principal de la misma, el tema a tratar, los recursos que se
necesitan para registrar la entrevista, la fecha, la hora y el lugar donde se llevará a cabo dicha
entrevista. Este plan debe ser luego enviado a la persona que se va a entrevistar para que lo revise, lo
corrija, lo apruebe y así tenga la oportunidad de prepararse con anterioridad. Este tipo de recurso es
muy valioso, aunque debe ser manejado con mucha seriedad y precaución, teniendo en cuenta lo
costoso del tiempo que se va a invertir. Por lo tanto, el ingeniero de conocimiento debe determinar los
medios que requiere para poder conservar y revisar el conocimiento adquirido.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 32


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

- Entrevista informal: se realiza de forma personal pero no planeada. Es aprovechar la oportunidad del
encuentro entre el IC y la persona que tiene el conocimiento, en donde el primero le hace una corta
entrevista al segundo. Obviamente, por ser una entrevista esporádica o imprevista, no se tienen
disponibles los medios que permiten registrar el conocimiento, por lo tanto, se debe tener mucho
cuidado para evitar su inadecuado manejo.
- Observación del trabajo real del experto: consiste en examinar la labor del experto en su ambiente de
trabajo, solucionando un problema como el que se está tratando de simular. La ventaja del
conocimiento que se adquiere en esta forma es que es muy espontáneo, ya que el experto está tomando
las decisiones sin tener mucho tiempo para analizar el por qué de ellas. Además, no se le permite
cuestionar si está haciendo lo correcto o no, solamente él hace lo que cree que es mejor en esa
situación.
- Cuestionario: es una encuesta muy bien diseñada que se utiliza especialmente para cuando se requiere
obtener las ideas que tienen varias personas sobre el tema. Puede llegar a ser muy difícil de diseñar e
inclusive, de manejar.
2) Representación del Conocimiento
El conocimiento puede definirse como el conjunto de hechos y principios acumulado por una clase de
acto, hecho o estado del conocimiento. Es un conjunto de datos sobre hechos, verdades o de información
ganada a través de la experiencia o del aprendizaje (a posteriori), o a través de introspección (a priori).
De cómo se representa el conocimiento se determinará la eficiencia en la manipulación del mismo. La
representación debe poseer un conjunto de convenciones sintácticas y semánticas que hagan posible
describir las cosas. La sintaxis son los símbolos y conjunto de reglas para combinarlos y la semántica es
el significado de las expresiones construidas. Un sistema para la representación del conocimiento debe
contar con los siguientes ingredientes básicos:
 Un lenguaje de representación: es la capacidad de simbolizar todos los tipos de conocimiento
necesarios para el tema en estudio.
 Capacidad de inferencias: es la suficiencia para manipular las estructuras de representación del
conocimiento que permitan derivar nuevas estructuras en base al conocimiento inferido, así como la
eficiencia al incorporar conocimiento adicional que permita obtener mejores respuestas.
 Eficiencia de adquisición: es la capacidad para adquirir nuevo conocimiento.
No existe una representación que sea lo suficientemente robusta como para incluir las propiedades
antes descritas, sin embargo se puede tener como referencia los siguientes criterios para juzgar una
representación:
 Capacidad lógica: que sea capaz de representar el conocimiento que deseamos expresar.
 Heurística: capacidad de resolver problemas.
 Declarativa: facilidad para acceder al conocimiento y facilidad de entendimiento.
2.1) Tipos de Representación
La representación del conocimiento puede dividirse en:
 Representación declarativa: es aquella en la que el conocimiento está especificado, pero las maneras
en que debe utilizarse no viene dado (saber qué). Entre las características de los métodos declarativos
están:
- Economía de representación: una única sentencia admite varios usos.
- Naturalidad: al leer una sentencia es fácil de comprender su significado.
- Modularidad: al cambiar una sentencia se cambia el conocimiento.
- Ineficiencia: no se sabe cual es el conocimiento, aspecto importante para resolver un problema
concreto.
 Representación procedural: es aquella en que la información de control necesaria para utilizar el
conocimiento viene inmersa en el propio conocimiento (saber cómo). El conocimiento está escrito
mediante un conjunto de procedimientos que permiten resolver un problema. Sus características son:
- Eficiencia: se utiliza en cada momento el conocimiento preciso.
- Inflexibles: modificar el conocimiento puede requerir revisar todo el sistema.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 33


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

En particular, se tiene interés en este trabajo en la representación del conocimiento procedural. Éste
indica que hacer si se dá una situación. La técnica más usada para representarlo son las reglas de
producción. Un sistema basado en reglas de producción consta de:
- Un conjunto de reglas de producción: del tipo si C entonces A, y a veces llevan asociado un
conocimiento de certeza.
- Sistema de gestión de base de datos: consta de los hechos del problema a solucionar.
- Intérprete de reglas: identifica las reglas a usar y cómo usarlas.
Entre las ventajas que tienen están: modularidad de enfoque y captar conocimiento probabilístico útil;
entre las desventajas, ésta necesita un mecanismo eficiente de búsqueda de reglas dependiendo del
problema tratado.

0.3.6 Métodos de representar el conocimiento. Formalismos


En todo problema complejo en IA se debe plantear qué cocimiento nos puede ser necesario
para resolverlo y como deberemos utilizarlo para hacer más eficiente la resolución.
El conocimiento que podemos usar puede ser tanto general como dependiente del dominio,
pero teniendo en cuenta que el conocimiento específico del problema será el que con más
probabilidad nos permitirá hacer eficiente la resolución.
Esta necesidad de introducir más conocimiento en la resolución de un problema nos lleva a
plantearnos dos cuestiones. Primero, el cómo escoger el formalismo de representación que
nos permita hacer una traducción fácil del mundo real a la representación. El conocimiento
necesario es por lo general bastante complejo, hacer la traslación de los elementos del dominio
a una representación es una tarea costosa. Segundo, el cómo ha de ser esa representación para
que pueda ser utilizada de forma eficiente. Este conocimiento tendrá que utilizarse en el
proceso de toma de decisiones, deberemos evaluar cuando es necesario usarlo y qué podemos
obtener a partir de él. Sin un mecanismo eficiente para su uso no conseguiremos ninguna
ganancia.
En este punto debemos distinguir entre información y conocimiento.
Denominaremos información al conjunto de datos básicos, sin interpretar, que se obtienen
como entrada del sistema. Por ejemplo los datos numéricos que aparecen en una analítica de
sangre o los datos de los sensores de una planta química. Estos datos no nos dicen nada si no
los asociamos a su significado en el problema.
Denominaremos conocimiento al conjunto de datos de primer orden, que modelan de forma
estructurada la experiencia que se tiene sobre un cierto dominio o que surgen de interpretar
los datos básicos. Por ejemplo, la interpretación de los valores de la analítica de sangre o de los
sensores de la planta química para decir si son normales, altos o bajos, preocupantes,
peligrosos, ..., el conjunto de estructuras de datos y métodos para diagnosticar a pacientes a
partir de la interpretación del análisis de sangre, o para ayudar en la toma de decisiones de que
hacer en la planta química
Los sistemas de IA necesitan diferentes tipos de conocimiento que no suelen estar disponibles
en bases de datos y otras fuentes de información:
 Conocimiento sobre los objetos en un entorno y las posibles relaciones entre ellos
 Conocimiento sobre los procesos en los que interviene o que le son útiles
 Conocimiento difícil de representar como datos básicos, como la intensionalidad, la
causalidad, los objetivos, información temporal, conocimiento que para los humanos es
“de sentido común”, etc.
Podríamos decir para un programa de inteligencia artificial el conocimiento es la combinación
entre la información y la forma en la que se debe interpretar.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 34


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Se suele dar la ecuación Conocimiento = Información + Interpretación como visión intuitiva


de este concepto parafraseando el libro de N. Wirth Algorithms + Data Structures = Programs
Para poder representar algo necesitamos saber entre otras cosas sus características o su
estructura, que uso le dan los seres inteligentes, como adquirirlo y traspasarlo a un sistema
computacional, qué estructuras de datos son adecuadas para almacenarlo y qué algoritmos y
métodos permiten manipularlo.
Una posibilidad sería fijarnos en como los seres humanos representamos y manipulamos el
conocimiento que poseemos. Por desgracia no hay respuestas completas para todas estas
preguntas desde el punto de vista biológico o neurofisiológico, no tenemos una idea clara de
cómo nuestro cerebro es capaz de adquirir, manipular y usar el conocimiento que utilizamos
para manejarnos en nuestro entorno y resolver los problemas que este nos plantea.
Afortunadamente podemos buscar respuestas en otras áreas, principalmente la lógica. A partir
de ella construiremos modelos que simulen la adquisición, estructuración y manipulación del
conocimiento y que nos permitan crear sistemas artificiales inteligentes.
Como sistema para representar el conocimiento hablaremos de esquema de representación que
para nosotros será un instrumento para codificar la realidad en un ordenador. Desde un punto
de vista informático un esquema de representación puede ser descrito como una combinación
de:
 Estructuras de datos que codifican el problema en curso con el que se enfrenta el agente →
Parte estática
 Estructuras de datos que almacenan conocimiento referente al entorno en el que se desarrolla
el problema y procedimientos que manipulan las estructuras de forma consistente con una
interpretación plausible de las mismas → Parte dinámica
La parte estática estará formada por:
 Estructura de datos que codifica el problema
 Operaciones que permiten crear, modificar y destruir elementos en la estructura
 Predicados que dan un mecanismo para consultar esta estructura de datos
 Semántica de la estructura, se definirá una función que establezca una relación entre los
elementos de la realidad y los elementos de la representación. Esta función es la que nos
permitirá interpretar lo que hagamos en la representación en términos del mundo real.
La parte dinámica estará formada por:
 Estructuras de datos que almacenan conocimiento referente al entorno/dominio en el que
se desarrolla el problema
 Procedimientos que permiten
 Interpretar los datos del problema (de la parte estática) a partir del conocimiento del
dominio (de la parte dinámica)
 Controlar el uso de los datos: estrategias de control, métodos que nos permiten decidir
cuándo usamos el conocimiento y como éste guía los procesos de decisión.
 Adquirir nuevo conocimiento: mecanismos que nos permiten introducir nuevo
conocimiento en la representación, ya sea por observación del mundo real o como
deducción a partir de la manipulación del conocimiento del problema.
Es importante tener en mente que la realidad no es el esquema de representación. De hecho,
podemos representar la realidad utilizando diferentes esquemas de representación. La
representación es simplemente una abstracción que nos permite resolver los problemas del
dominio en un entorno computacional.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 35


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Se ha de tener siempre en cuenta que nuestra representación siempre es incompleta, debido a:


 Modificaciones: el mundo es cambiante, pero nuestras representaciones son de un instante
 Volumen: mucho (demasiado) conocimiento a representar, siempre tendremos una
representación parcial de la realidad
 Complejidad: La realidad tiene una gran riqueza en detalles y es imposible representarlos
todos

0.3.6.1 Formalismos de representación del conocimiento:


Mediante lógica:
Una gran parte de los formalismos de representación del conocimiento que se utilizan en
inteligencia artificial se fundamentan directamente en la lógica. De hecho la lógica es el
lenguaje utilizado por todas las disciplinas científicas para describir su conocimiento de manera
que pueda ser compartido sin ambigüedad y poder utilizar métodos formales para probar sus
afirmaciones y obtener sus consecuencias.
 Lógicas no monótonas
La lógica clásica es una lógica monótona, en la cual la incorporación de nuevo conocimiento
debe ser consistente (no contradictorio). En la lógica no monótona, la incorporación de nueva
información podría invalidar parte de la información previa existente.
En un problema con conocimiento incompleto puede aplicarse la lógica no monótona (pero no
la lógica monótona) y se aplica un razonamiento llamado “por defecto”.
Ejemplo

 Lógica de situaciones
Soporta una estructura dinámica (en un momento algo puede ser cierto, y, más tarde, puede ser
falso).
Ejemplo

Este tipo de lógica se emplea en planificación (Unidad 4)


 Lógica difusa
Empleada cuando se usa una notación imprecisa.
Ejemplo

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 36


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Muchas veces un concepto vago depende del contexto y de la subjetividad. Toda la lógica difusa
está montada sobre la definición de una serie de elementos:
Conjunto difuso:

La diferencia con la probabilidad es que ´esta precisa de una experimentaci´on previa antes de
obtener un resultado. Con los conjuntos difusos no es necesaria experiencia previa
Modificadores: Definidos a partir del conjunto base

Composición de conjuntos:

Mediante Platillas.
Una plantilla (frame) es una estructura de datos apropiada para representar una situación
estereotípica. Las plantillas organizan el conocimiento en objetos y eventos que resultan
apropiados para situaciones específicas. Evidencia psicológica sugiere que la gente utiliza
grandes plantillas para codificar el conocimiento de experiencias pasadas, o conocimiento
acerca de cosas que se encuentran comúnmente, para analizar y explicar una situación nueva
en su cotidiana actividad cognoscitiva.

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 37


APUNTES BREVES – U0 Inteligencia Artificial – Sistemas Expertos

Una plantilla representa un objeto o situación describiendo la colección de atributos que posee.
Están formadas por un nombre y por una serie de campos de información o ranuras (slots).
Cada ranura puede contener uno o más enlaces (facets). Cada enlace tiene un valor asociado.
Mediante Objetos.
Los objetos, son similares a las plantillas. Ambos sirven para agrupar conocimiento asociado,
soportan herencia, abstracción y el concepto de procedimientos agregados.
La diferencia radica en lo siguiente: 1. En las plantillas, a los programas y a los datos se los trata
como dos entidades relacionadas separadas. En cambio en los objetos se crea una fuerte unidad
entre los procedimientos (métodos) y los datos. 2. Los demons de las plantillas sirven sólo para
computar valores para las diversas ranuras o para mantener la integridad de la base de
conocimientos cada vez que una acción de alguna plantilla, afecta a otra. En cambio, los métodos
utilizados por los objetos son más universales ya que proporcionan cualquier tipo general de
computación requerida y además soportan encapsulamiento y polimorfismo.
Un objeto es definido como una colección de información representando una entidad del
mundo real y una descripción de cómo debe ser manipulada esta información, esto es los
métodos. Es decir, un objeto tiene un nombre, una caracterización de clase, varios atributos
distintivos y un conjunto de operaciones. La relación entre los objetos viene definida por los
mensajes. Cuando un objeto recibe un mensaje válido, responde con una acción apropiada,
retornando un resultado
Redes asociativas.
Las redes semánticas, fueron originalmente desarrolladas para representar el significado o
semántica de oraciones en inglés, en términos de objetos y relaciones. Actualmente, el término
redes asociativas es más ampliamente utilizado para describirlas ya que no sólo se las usa para
representar relaciones semánticas, sino también para representar asociaciones físicas o
causales entre varios conceptos u objetos. Las redes asociativas se caracterizan por representar
el conocimiento en forma gráfica.
Agrupan una porción de conocimiento en dos partes: objetos y relaciones entre objetos. Los
objetos se denominan también nodos (elementos del conocimiento) y las relaciones entre
nodos se denominan enlaces o arcos. Cada nodo y cada enlace en una red semántica, deben
estar asociados con objetos descriptivos.

Referencias Bibliográficas
GARCÍA MARTÍNEZ R., BRITOS P, Ingeniería de Sistemas Expertos. Editorial Nueva Librería. Buenos Aires.
(2004)
KASTNER, J. Y HONG S. (1984). A review of expert systems. European journal of operational research, p.p.
285-292.
GUTIÉRREZ, J. (1994) Sistemas Expertos Basados en Reglas, Dpto. de Matemática Aplicada. Universidad
de Cantabria.
Análisis de la relación entre la ingeniería del conocimiento y la gestión del conocimiento en base al modelo
de NONAKA Y TAKEUC, http://www.intangiblecapital.org/Articulos/N9/0033.htm#notas
GÁMEZ J.A., PUERTA J.M. Sistemas Expertos Probabilísticos, Colección Ciencia y Técnica, vol. 20. Ediciones
de la Universidad de Castilla-La Mancha. Cuenca, (1998).
MINSKY. M., A framework for representing knowledge. En: P. H. Winston (ed.), The Psychology of Computer
Vision, págs. 211–277. McGraw-Hill, Nueva York, (1975).

Cátedra Inteligencia Artificial – Dpto Sistemas - FRM UTN 38

También podría gustarte