Está en la página 1de 29

Resumen para el Primer Parcial de

Inteligencia Artificial 1
1 INTRODUCCIN
Se define a la inteligencia artificial, como la parte de la ciencia que se ocupa del diseo de
sistemas de computacin inteligentes, es decir, sistemas que exhiben las caractersticas que
asociamos a la inteligencia en el comportamiento humano que se refiere a la comprensin del
lenguaje, el aprendizaje, el razonamiento, la resolucin de problemas, etc.
Hoy en da, el campo de la IA engloba varias subareas tales como los sistemas expertos, la
demostracin automtica de teoremas, el juego automtico, e reconocimiento de la voz y de
patrones, el procesamiento del lenguaje natural, la visin artificial, la robtica, las redes
neuronales, etc.

1.1 APROXIMACIONES A LA INTELIGENCIA ARTIFICIAL


Aun aceptando que la IA ya ha sido capaz de producir algunos sistemas prcticos muy tiles, la
creencia general es que el objetivo ltimo de alcanzar una inteligencia de nivel humano esta an
muy distante. Siendo esto as, todava hay un gran debate sobre cules son las mejores
aproximaciones hacia la IA (mejores en el sentido de sentar los fundamentos centrales para
conseguir las metas planteadas a largo plazo, as como mejores en el sentido de producir
resultados prcticos a corto plazo). En consecuencia, en los ltimos 40 aos ha surgido un cierto
nmero de paradigmas diferentes. Los principales paradigmas pueden ser clasificados en dos
grupos.
El primer grupo incluye lo que llamaramos las aproximaciones basadas en procesamiento de
smbolos. Se sustentan sobre la hiptesis de sistema fsico de smbolos de Newell y Simon, y
aunque esta hiptesis no puede considerarse aun como universalmente aceptada, en ella se
basa mucho de lo que podramos llamar IA Clsica. que lo definen como sigue:
Un sistema de smbolos fsicos consiste en un conjunto de entidades, llamados smbolos que son
patrones fsicos que pueden funcionar como componentes de otro tipo de entidad llamada
expresin o estructura de smbolos. De esta forma, una estructura de smbolos est compuesta
por un numero de instancias (seales o tokens) de smbolos relacionados de alguna forma fsica
(como una seal debe seguir a otra). En algn instante, el sistema contendr una coleccin de
estas estructuras de smbolos. Adems de estas estructuras el sistema contiene tambin una
coleccin de procesos que operan sobre expresiones para producir otras expresiones: procesos
de creacin, modificacin, reproduccin y destruccin. Un sistema de smbolos fsicos es una
mquina que produce a lo largo del tiempo una coleccin evolutiva de estructuras de smbolos.
Este sistema existe en un mundo de objetos tan extenso como sus propias expresiones
Ellos entonces enunciaron la hiptesis as:
La hiptesis del sistema de smbolos fsicos. Un sistema de smbolos fsicos posee medios
necesarios y suficientes para realizar una accin inteligente genrica.
Un miembro destacado de esta familia de aproximaciones es el que se basa en la aplicacin de
operaciones lgicas sobre bases de conocimiento declarativo. Este estilo de IA representa el
conocimiento sobre un problema del dominio mediante sentencias declarativas, a menudo
basadas en sentencias de la lgica de predicados o sustancialmente equivalente a ellas. Para

Pgina 1 de 29
deducir consecuencias a partir de este conocimiento se aplican tcnicas de inferencia lgica.
Este mtodo admite numerosas variantes, incluyendo aquellas cuyo nfasis est en la
axiomatizacin formal del dominio en un lenguaje lgico. Cuando se aplica a problemas reales.
Este mtodo requiere la representacin de una cantidad sustancial de conocimiento del
dominio, por lo que se suele hablar de aproximaciones basadas en el conocimiento.
En muchas de las aproximaciones basadas en procesamiento de smbolos, el anlisis de los
comportamientos deseados, o la sntesis de mquinas para conseguirlos, se extienden a travs
de varios niveles. El nivel superior corresponde al nivel de conocimiento, en el cual se especifica
el conocimiento necesario para que la maquina alcance sus objetivos. A continuacin, viene el
nivel simblico, donde se representa este conocimiento mediante estructuras simblicas, como
por ejemplo listas escritas en el lenguaje LISP y se especifican operaciones sobre esas
estructuras. Despus estn los niveles inferiores, en los cuales, realmente se implementan las
operaciones de procesamiento de smbolos. Muchas aproximaciones basadas en procesamiento
de smbolos utilizan una metodologa de diseo descendente; se comienza en el nivel de
conocimiento y se procede hacia abajo a travs de los niveles simblico y de implementacin.
El segundo grupo de aproximaciones hacia la IA incluye lo que se denominan aproximaciones
subsimbolicas. Estas siguen usualmente un estilo de diseo ascendente, comenzando en el
nivel ms bajo y procediendo hacia los niveles superiores. En los niveles ms bajos, el concepto
de smbolo no es tan apropiado como el concepto de seal. Entre las aproximaciones
subsimbolicas, una aproximacin muy prominente es la que algunos han llamado vida
artificial. Los defensores de este estilo sealan que la inteligencia humana se desarroll solo
despus de ms de mil millones de aos de vida sobre la tierra. Segn ellos, para conseguir
maquinas inteligentes tendremos que seguir muchos de estos pasos evolutivos. Primero,
debemos concentrarnos en la duplicacin de las capacidades de procesamiento de seal y
control de las que disponen los animales ms simples (los insectos, por ejemplo) y subir por la
escalera evolutiva en pasos sucesivos. Esta estrategia no solo conducir a la obtencin a corto
plazo de mquinas tiles, sino que desarrollara el substrato sobre el cual deben construirse
necesariamente los niveles superiores de inteligencia.
Este segundo grupo de aproximaciones tambin pone nfasis en los fundamentos simblicos.
Brooks introdujo la hiptesis de los fundamentos fsicos, en contraste con la hiptesis de los
sistemas fsicos de smbolos. Segn su hiptesis, se puede obtener un comportamiento complejo
sin usar modelos centralizados: para ello, bastara con dejar que los diversos mdulos de
comportamiento de un agente interacten independientemente con el entorno. Sin embargo,
Brooks acepta que para conseguir IA de nivel humano puede ser necesaria la integracin de las
dos aproximaciones.
La interaccin entre una mquina y su entorno conduce a lo que se denomina comportamiento
emergente. En palabras de una investigadora:
La funcionalidad de un agente debe verse como una propiedad emergente de la interaccin
intensiva del sistema con su entorno dinmico. La especificacin del comportamiento del agente
aislado no explica la funcionalidad que exhibe cuando el agente est operando. Por el contrario,
su funcionalidad se basa en gran medida en las propiedades del entorno. No solo hay que tener
en cuenta las caractersticas del entorno, sino que estas deben ser exploradas para servir al
funcionamiento del sistema.
Las redes neuronales son un ejemplo bien conocido de mquinas que provienen de la escuela
subsimbolica. Estos sistemas, inspirados en modelos biolgicos, son interesantes,
principalmente por su capacidad de aprendizaje. Tambin se han conseguido resultados
interesantes mediante procesos que simulen ciertos aspectos de la evolucin biolgica:
cruzamiento, mutacin y reproduccin de los organismos mejor adaptados. Otras

Pgina 2 de 29
aproximaciones ascendentes, cercadas a las aproximaciones del tipo vida artificial, se basan
en la teora del control y en el anlisis de sistemas dinmicos.
A medio camino entre las aproximaciones descendentes y ascendentes esta la basada en
autmatas situados.

1.2 QU ES UNA TCNICA DE IA?


la inteligencia necesita conocimiento. el conocimiento posee algunas propiedades poco
deseables, tales como:

Es voluminoso
Es difcil caracterizarlo con exactitud
Cambia constantemente
se organiza de tal forma que se corresponde con la forma en que va a ser usado.
Concluimos en que una tecnica de IA es un mtodo que utiliza conocimiento representado de
tal forma que:

El conocimiento represente las generalizaciones. En otras palabras, no es necesario


representar de forma separada cada situacin individual. En lugar de esto, se agrupan
las situaciones que comparten propiedades importantes. Si el conocimiento no posee
esta propiedad, puede necesitarse demasiada memoria. Si no se cumple esta propiedad
es mejor hablar de datos que de conocimiento.
Debe ser comprendido por las personas que lo proporcionan. Aunque en muchos
programas, los datos pueden adquirirse automticamente (mediante lectura de
instrumentos), en muchos dominios de la IA, la mayor parte del conocimiento que se
suministra a los programas lo proporcionan personas, hacindolo siempre en trminos
que ellos comprenden.
Puede modificarse fcilmente para corregir errores y reflejar los cambios en el mundo y
en nuestra visin del mundo.
Puede usarse en gran cantidad de situaciones aun cuando no sea totalmente preciso o
completo.
Puede usarse para ayudar a superar su propio volumen, ayudando a acotar el rango de
posibilidades que normalmente deben ser consideradas.

1.3 QU ES UN SISTEMA EXPERTO?


Un sistema experto puede definirse como un sistema informtico (hardware y software) que
simula a los expertos humanos en un rea de especializacin dada.
Como tal un sistema experto debera ser capaz de procesar y memorizar informacin, aprender
y razonar en situaciones deterministas e inciertas, comunicar con los hombres y/o otros sistemas
expertos, tomar decisiones apropiadas, y explicar porque se han tomado tales decisiones. Se
puede pensar tambin a un sistema experto como un consultor que puede suministrar ayuda a
(o en algunos casos sustituir completamente) los expertos humanos con un grado razonable de
fiabilidad.

1.4 TIPOS DE SISTEMAS EXPERTOS


Los sistemas expertos pueden clasificarse en dos tipos principales segn la naturaleza de
problemas para los que estn diseados: deterministas y estocsticos.
Los problemas de tipo deterministas pueden ser formulados usando un conjunto de reglas que
relacionen varios objetos bien definidos. Los sistemas expertos tratan problemas deterministas

Pgina 3 de 29
conocidos como sistemas basados en reglas, porque sacan sus conclusiones basndose en un
conjunto de reglas utilizando un mecanismo de razonamiento lgico.
En situaciones inciertas, es necesario introducir algunos medios para tratar la incertidumbre. La
medida intuitiva de incertidumbre es la probabilidad, en la que la distribucin conjunta de un
conjunto de variables se usa para describir las relaciones de dependencia entre ellas y se sacan
conclusiones usando formulas muy conocidas de la teora de la probabilidad.

1.5 COMPONENTES DE UN SISTEMA EXPERTO


Las definiciones de sistemas expertos se entienden mejor cuando se examinan las principales
componentes de los sistemas expertos.

1.5.1 La componente humana


Un sistema experto es generalmente el resultado de la colaboracin de uno o varios expertos
humanos especialistas en el tema de estudio y los ingenieros del conocimiento, con los usuarios
en mente. Los expertos humanos suministran el conocimiento bsico en el tema de inters, y
los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema
experto pueda entender.

1.5.2 La base de conocimiento


Los especialistas son respnsales de suministrar a los ingenieros del conocimiento una base de
conocimiento ordenada y estructurada, y un conjunto de relaciones bien definidas y explicadas.
Hay que diferenciar entre datos y conocimiento. El conocimiento se refiere a afirmaciones de
validez general tales como reglas, distribuciones de probabilidad, etc. Los datos se refieren a la
informacin relacionada con una aplicacin particular. Mientras el conocimiento es
permanente, los datos son efmeros, es decir, no forman parte de la componente permanente
de un sistema y son destruidos despus de usarlos. El conocimiento se almacena en la base de
conocimiento y los datos se almacenan en la memoria de trabajo. Todos los procedimientos de
los diferentes sistemas y subsistemas que son de carcter transitorio se almacenan tambin en
la memoria de trabajo.

Pgina 4 de 29
1.5.3 Subsistema de adquisicin de conocimiento
El subsistema de adquisicin de conocimiento controla el flujo del nuevo conocimiento que fluye
del experto humano a la base de datos. El sistema determina que 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.

1.5.4 Control de la coherencia


Este subsistema controla la consistencia de la base de datos y evita que unidades de
conocimiento inconsistentes entren en la misma, evitando as, un comportamiento
insatisfactorio del sistema.

1.5.5 El motor de inferencia


El motor de inferencia es el corazn de todo sistema experto. El cometido principal de esta
componente es el de sacar conclusiones aplicando el conocimiento a los datos. Por ejemplo, en
diagnstico mdico, los sntomas de un paciente (datos) son analizados a la luz de los sntomas
y las enfermedades y sus relaciones (conocimiento).

1.5.6 El subsistema de adquisicin de conocimiento


Si el conocimiento inicial es muy limitado y no se pueden sacar conclusiones, el motor de
inferencia utiliza el subsistema de adquisicin 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 informacin requerida para este y otros objetivos.
De ello resulta la necesidad de una interfase de usuario y de una comprobacin de la
consistencia de la informacin suministrada por el usuario antes de introducirla en la memoria
de trabajo.

1.5.7 Interfase de usuario


La interfase de usuario es el enlace entre el sistema experto y el usuario. Por ello, para que un
sistema experto sea una herramienta efectiva, debe incorporar mecanismos eficientes para
mostrar y obtener informacin de forma fcil y agradable. Por otra parte, cuando el motor de
inferencia no puede concluir debido, por ejemplo, a la ausencia de informacin, la interfase de
usuario es un vehculo para obtener la informacin necesaria del usuario. Consecuentemente,
una implementacin inadecuada de la interfase de usuario que no facilite este proceso minara
notablemente en la calidad de un sistema experto. Otra razn de la importancia de la interfase
de usuario es que los usuarios evalan comnmente los sistemas expertos y otros sistemas por
la calidad de dicha interfase ms que por la del sistema experto mismo.

1.5.8 El subsistema de ejecucin de ordenes


El subsistema de ejecucin de ordenes es la componente que permite al sistema experto iniciar
acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia.

1.5.9 El subsistema de explicacin


El usuario puede pedir una explicacin de las conclusiones sacadas o de las acciones iniciadas
por el sistema experto. Por ello, es necesario un subsistema que explique el proceso seguido por
el motor de inferencia o por el subsistema de ejecucin. En muchos dominios de aplicaciones,
es necesaria la explicacin de las conclusiones debido a los riesgos asociados con las acciones a
ejecutar.

1.5.10 El subsistema de aprendizaje


Una de las principales caractersticas de un sistema experto es su capacidad de aprender.
Diferenciaremos entre el aprendizaje estructural y el paramtrico. Por aprendizaje estructural
nos referimos a algunos aspectos relacionados con la estructura del conocimiento (reglas,
distribuciones de probabilidad, etc.). Por ello, el descubrimiento de nuevos sntomas relevantes

Pgina 5 de 29
para una enfermedad o la inclusin de una nueva regla en la base de conocimiento son ejemplos
de aprendizaje estructural. Por aprendizaje paramtrico nos referimos a estimar los parmetros
necesarios para construir la base de conocimiento. Por ello, la estimacin de frecuencias o
probabilidades asociadas a sntomas o enfermedades es un ejemplo de aprendizaje
paramtrico.

2 SISTEMAS BASADOS EN REGLAS


En nuestra vida diaria encontramos muchas situaciones complejas gobernadas por reglas
deterministas: sistemas de control de trfico, sistema de seguridad, transacciones bancarias,
etc. Los sistemas en reglas son una herramienta eficiente para tratar estos problemas. Las reglas
deterministas constituyen la ms sencilla de las metodologas utilizadas en sistemas expertos.
La base de conocimiento contiene el conjunto de reglas que definen al problema, y el motor de
inferencia saca las conclusiones aplicando la lgica clsica a estas reglas.

2.1 LA BASE DE CONOCIMIENTO


En los sistemas basados en reglas intervienen dos elementos importantes: la base de
conocimiento y los datos. Los datos estn formados por la evidencia o los hechos conocidos en
una situacin particular. Este elemento es dinmico, es decir, puede cambiar de una aplicacin
a otra. Por esta razn, no es de naturaleza permanente y se almacena en la memoria de trabajo.
En situaciones deterministas, las relaciones entre un conjunto de objetos pueden ser
representadas mediante un conjunto de reglas. El conocimiento se almacena en la base de
conocimiento y consiste en un conjunto de objetos y un conjunto de reglas que gobiernan las
relaciones entre estos objetos.
La informacin almacenada en la base de conocimiento es de naturaleza permanente y esttica,
es decir, no cambia de una aplicacin a otra, a menos que se incorporen al sistema experto
elementos de aprendizaje.
Regla: Una regla es una afirmacin lgica que relaciona dos o ms objetos e incluye dos partes,
la premisa y la conclusin. Cada una de estas partes consiste en una expresin lgica con una o
ms afirmaciones objeto-valor conectadas mediante los operadores lgicos y, o, o no.
Una regla se escribe normalmente como si premisa, entonces conclusin.
En general, ambas, la premisa y la conclusin de una regla, pueden contener afirmaciones
mltiples objeto-valor. Una expresin lgica que contiene solo una afirmacin objeto-valor se
denomina expresin lgica simple; en caso contrario, la expresin se dice expresin lgica
compuesta. Correspondientemente, una regla que contiene solamente expresiones lgicas
simples se denomina regla simple; en otro caso, se llama regla compleja.
Algunos sistemas imponen ciertas restricciones a las reglas. Por ejemplo:

No permitir en la premisa el operador lgico o,


Limitar las conclusiones a expresiones lgicas simples.
Negacin completa en expresiones lgicas compuestas.
Hay buenas razones para imponer estas restricciones. En primer lugar, las reglas que satisfacen
estas restricciones son fciles de tratar a la hora de escribir un programa de ordenador. En
segundo lugar, las dos restricciones anteriores no dan lugar a una prdida de generalidad,
puesto que reglas mucho ms generales pueden ser reemplazadas por conjuntos de reglas de
esta forma. A esto se le llama sustitucin de reglas. Por tanto, el conjunto de reglas especificado

Pgina 6 de 29
inicialmente por el experto humano puede requerir una sustitucin posterior por un conjunto
de reglas equivalente para satisfacer estas restricciones.

2.2 EL MOTOR DE INFERENCIA


Tal y como se ha mencionado en la seccin anterior, hay dos tipos de elementos: los datos
(hechos o evidencia) y el conocimiento (el conjunto de reglas almacenado en la base de
conocimiento). El motor de inferencia usa ambos para obtener nuevas conclusiones o hechos.
Los datos iniciales se incrementan incorporando las nuevas conclusiones. Por ello, tanto los
hechos iniciales o datos de partida como las conclusiones derivadas de ellos forman parte de los
hechos o datos de que se dispone en un instante dado.
Para obtener conclusiones, los expertos utilizan diferentes tipos de reglas y estrategias de
inferencia y control. Las reglas de inferencia son:
Modus Ponens,
Modus Tollens,
Resolucin,
Y las estrategias de inferencia
Encadenamiento de reglas,
Encadenamiento de reglas orientado a un objetivo,
Compilacin de reglas,

2.2.1 Modus Ponens


El Modus Ponens es quizs la regla de inferencia ms comnmente utilizada. Se utiliza para
obtener conclusiones simples. En ella, se examina la premisa de la regla, y si es cierta, la
conclusin pasa a formar parte del conocimiento. Supngase que se tiene la regla, si A es cierto,
entonces B es cierto y que se sabe adems que A es cierto. Entonces, la regla Modus Ponen
concluye que B es cierto.

P Q P->Q
V V V
V F F
F V V
F F V
Con el consecuente falso, se tiene que la implicacin es verdadera presentando al consecuente
como verdadero o como falso, por lo tanto, la nica afirmacin que se puede realizar es que si
la premisa es verdadera, el consecuente es verdadero ( ya que si la premisa es verdadera y el
consecuente falso, la implicacin es falsa.

2.2.2 Modus Tollens


La regla de inferencia Modus Tollens se utiliza tambin para obtener conclusiones simples. En
este caso se examina la conclusin y si es falsa, se concluye que la premisa tambin es falsa. Por

Pgina 7 de 29
ejemplo, supngase 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
conclusin, pero, la regla Modus Tollens concluye que A es falso. Estas dos reglas no deben
ser vistas como alternativas, sino como complementarias.

P Q P->Q
V V V
V F F
F V V
F F V
En el modus Tollens, la nica afirmacin que se puede hacer es que, si el consecuente es falso,
entonces la premisa es falsa, ya que, si el consecuente es verdadero, la premisa puede ser tanto
verdadera como falsa y si el consecuente es falso y la premisa verdadera, la implicacin es falsa.

2.2.3 El mecanismo de resolucin


Las reglas de inferencia modus Ponens y modus Tollens pueden ser utilizadas para obtener
conclusiones simples. Por otra parte, las conclusiones compuestas, que se basan en dos o ms
reglas se obtienen usando el llamado mecanismo de resolucin. Esta regla de inferencia consiste
en las etapas siguientes:
1. Las reglas son sustituidas por expresiones lgicas equivalentes.
2. Estas expresiones lgicas se combinan en otra expresin lgica.
3. Esta ltima expresin se utiliza para obtener la conclusin.
Estas etapas involucran conceptos tales como la combinacin y simplificacin de expresiones
lgicas.

2.2.3.1 Mecanismo de resolucin 1.


Suponga que se tienen dos reglas:
Regla 1: Si A es cierto, entonces B cierto
Regla 2: Si B es cierto, entonces C es cierto.
La primera etapa en el mecanismo de resolucin consiste en sustituir una de las dos reglas por
expresiones lgicas equivalentes. Esto se hace como sigue:
La regla 1 es equivalente a la expresin lgica: A es falso o B es Cierto.
Similarmente, la regla 2 es equivalente a la expresin lgica: B es falso o C es cierto.

Pgina 8 de 29
La segunda etapa consiste en combinar las dos expresiones anteriores en una, tal como sigue:
Las expresiones lgicas A es falso o B es cierto y B es falso o C es cierto implican la expresin
A es falso o C es cierto.

2.3 ENCADENAMIENTO DE REGLAS


Una de las estrategias de inferencia ms 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 ms conclusiones. El tiempo que consume este proceso hasta su
terminacin depende, por una parte, de los hechos conocidos y, por otra, da las reglas que se
activan. La estrategia de encadenamiento de reglas se da en el algoritmo siguiente:
Datos: Una base de conocimiento (objetos y reglas) y algunos hechos iniciales.
Resultado: El conjunto de hechos derivados lgicamente de ellos.
1. Asignar a los objetos sus valores conocidos tales como los dan los hechos conocidos o la
evidencia.
2. Ejecutar cada regla de la base de conocimiento y concluir nuevos hechos si es posible.
3. Repetir la Etapa 2 hasta que no puedan ser obtenidos nuevos hechos.
Este algoritmo puede ser implementado de muchas formas. Una de ellas comienza con las reglas
cuyas premisas tienen valores conocidos. Estas reglas deben concluir y sus conclusiones dan
lugar a nuevos hechos. Estos nuevos hechos se aaden al conjunto de hechos conocidos, y el
proceso continuo hasta que no pueden obtenerse nuevos hechos.
La estrategia de encadenamiento de reglas diferencia claramente entre la memoria de trabajo
y la base de conocimiento. La memoria de trabajo contiene datos que surgen durante el periodo
de consulta. Las premisas de las reglas se comparan con los contenidos de la memoria de trabajo
y cuando se obtienen nuevas conclusiones son pasadas tambin a la memoria de trabajo.

2.4 ENCADENAMIENTO DE REGLAS ORIENTADO A UN OBJETIVO


El algoritmo de encadenamiento de reglas orientado a un objetivo requiere del usuario
seleccionar, en primer lugar, una variable o nodo objetivo; entonces el algoritmo navega a travs
de las reglas en bsqueda de una conclusin para el nodo objetivo. Si no se obtiene ninguna
conclusin con la informacin existente, entonces el algoritmo fuerza a preguntar al usuario en
busca de nueva informacin sobre los elementos que son relevantes para obtener informacin
sobre el objetivo.
Algunos autores llaman a los algoritmos de encadenamiento y de encadenamiento orientado a
un objetivo encadenamiento hacia adelante y encadenamiento hacia atrs, respectivamente.

Pgina 9 de 29
Pero esta terminologa puede ser confusa, puesto que ambos algoritmos pueden, en realidad,
utilizar dos reglas de inferencia Modus Ponens (hacia adelante) y Modus Tollens (hacia atrs).
El algoritmo de encadenamiento de reglas orientado a un objetivo se describe a continuacin.
Datos: Una base de conocimiento (objetos y reglas), algunos hechos iniciales, y un nodo
o variable objetivo.
Resultado: el valor del nodo o variable objetivo.

2.5 COMPILACIN DE REGLAS


Otra forma de tratar con reglas encadenadas consiste en comenzar con un conjunto de datos
(informacin) y tratar de alcanzar algunos objetivos. Esto se conoce con el nombre compilacin
de reglas. Cuando ambos, datos y objetivos, se han determinado previamente, las reglas pueden
ser compiladas, es decir, pueden escribirse los objetivos en funcin de los datos para obtener
las llamadas ecuaciones objetivo.

2.6 CONTROL DE COHERENCIA


En situaciones complejas, incluso verdaderos expertos pueden dar informacin inconsistente
(por ejemplo, reglas inconsistentes y/o combinaciones de hechos no factibles). Por ello, es muy
importante controlar la coherencia del conocimiento tanto durante la construccin de la base
de conocimiento como durante los procesos de adquisicin de datos y razonamiento. Si la base
de conocimiento contiene informacin inconsistente (por ejemplo, reglas y/o hechos), es muy
probable que el sistema experto se comporte de forma poco satisfactoria y obtenga
conclusiones absurdas.
El objetivo del control de la coherencia consiste en
1. Ayudar al usuario a no dar hechos inconsistentes, por ejemplo, dndole al usuario las
restricciones que debe satisfacer la informacin demandada.
2. Evitar que entre en la base de conocimiento cualquier tipo de conocimiento
inconsistente o contradictorio.
3. El control de la coherencia debe hacerse controlando la coherencia de las reglas y la de
los hechos.

Pgina 10 de 29
2.7 COHERENCIA DE REGLAS
Un conjunto de reglas se denomina coherente si existe, al menos, un conjunto de valores de
todos los objetos que producen conclusiones no contradictorias.
Un conjunto de reglas puede ser coherente, aunque algunos conjuntos de valores puedan
producir conclusiones inconsistentes. Estos conjuntos de valores se llaman valores no factibles.
Valores no factibles: Se dice que un valor a para el objeto A no es factible si las conclusiones
obtenidas al hacer A = a contradicen cualquier combinacin de valores del resto de los objetos.
Por ello cualquier valor no factible debe ser eliminado de la lista de valores de su
correspondiente objeto para eliminar la posibilidad de que el motor de inferencia no pueda
obtener conclusiones inconsistentes.

2.8 COHERENCIA DE HECHOS


Los datos o evidencias suministrados por los usuarios deben ser tambin consistentes en si y
con el conjunto de reglas de la base de datos. Por ello, el sistema no debe aceptar hechos que
contradigan el conjunto de reglas y/o el conjunto de hechos existente en cada instante del
proceso. El sistema debe tambin comprobar si existe o no, una solucin factible e informar al
usuario en consecuencia.
La coherencia de los hechos puede lograrse mediante las estrategias siguientes:
1. Eliminar todos los valores no factibles (que contradicen el conjunto de reglas y/o
hechos) de los objetos una vez detectados. Cuando se pregunte al usuario por
informacin sobre los valores de un conjunto de objetos, el sistema experto debera
aceptar solo los valores de cada objeto que sean consistentes con las reglas y el
conocimiento previo.
2. El motor de inferencia debe comprobar que los hechos conocidos no contradicen el
conjunto de reglas. Si el sistema no elimina los valores factibles, entonces el usuario
podr dar evidencias contradictorias.
3. Suministrar al usuario una lista de objetos a los que no se ha asignado valores
previamente.
4. Para cada uno de los objetos, mostrar y aceptar solo sus valores factibles.
5. Actualizar continuamente la base de conocimiento, es decir, tan pronto como se d un
hecho o se obtenga una conclusin, y eliminar los valores no factibles. El motor de
inferencia obtiene todas las conclusiones posibles examinando, y posiblemente
concluyendo, las reglas tan pronto como una simple unidad de informacin llega al
sistema.

2.9 EXPLICANDO CONCLUSIONES


Las conclusiones no bastan para satisfacer al usuario de un sistema experto. Normalmente, los
usuarios esperan que el sistema les de algn tipo de explicacin que indique el porqu de las
conclusiones. Durante el proceso realizado por el motor de inferencia, las reglas activas (las que
han concluido) forman la base del mecanismo de explicacin, que es regulado por el subsistema
de explicacin.
En los sistemas expertos basados en reglas, es fcil dar explicaciones de las conclusiones
obtenidas. El motor de inferencia obtiene conclusiones basndose en un conjunto de reglas y,
por tanto, conoce que regla procede cada conclusin. Por ello, el sistema puede dar al usuario
la lista de hechos concluidos junto con las reglas que se han utilizado para obtenerlos.

Pgina 11 de 29
3 SISTEMAS EXPERTOS BASADOS EN PROBABILIDAD
Los sistemas expertos basados en reglas descritos en el captulo anterior, no tienen en cuenta
ningn tipo de incertidumbre, puesto que los objetos y las reglas son tratados por ellas de forma
determinista. Sin embargo, en la mayor parte de las aplicaciones, la incertidumbre es lo comn
y no la excepcin. Por ejemplo, una pregunta tpica en diagnostico medico es: dado que el
paciente presenta un conjunto de sntomas, Cul de las enfermedades posibles es la que tiene
el paciente? Esta situacin implica un cierto grado de incertidumbre puesto que:

Los hechos o datos pueden no ser conocidos con exactitud. Por ejemplo, un paciente
puede no estar seguro de haber tenido fiebre la noche pasada. Por ello, hay cierto grado
de incertidumbre en la informacin asociada a cada paciente.
El conocimiento no es determinista. Por ejemplo, las relaciones entre enfermedades y
los sntomas no son deterministas, puesto que un mismo conjunto de sntomas puede
estar asociado a diferentes enfermedades.
Por tal motivo se desarrollaron los sistemas expertos basados en probabilidad. Con la aparicin
de las redes probabilsticas, la probabilidad ha surgido de forma espectacular, y es, hoy en da,
la ms intuitiva y la ms aceptada de las medidas de incertidumbre.

3.1 ALGUNOS CONCEPTOS BSICOS DE LA TEORA DE LA PROBABILIDAD


3.1.1 Medida de probabilidad
Para medir la incertidumbre se parte de un marco de discernimiento dado S, en el que se
incluyen todos los posibles resultados de un cierto experimento como conjunto exhaustivo y
mutuamente exclusivo. El conjunto S se conoce como espacio muestral. Una vez definido este
conjunto, el objetivo consiste en asignar a todo subconjunto de S un nmero real que mida el
grado de incertidumbre sobre su realizacin. Para obtener medidas con significado claro y
practico, se imponen ciertas condiciones o propiedades intuitivas adicionales que definen una
clase de medidas que se conocen como medidas de probabilidad.
Medida de probabilidad:
[0,1] .
Axioma 1 (Normalizacion): p(S) = 1.
Axioma 2 (Actividad): Para cualquier sucesin infinita, A1, A2,, de subconjuntos

disjuntos de S, se cumple la igualdad.


El axioma 1 establece que, independientemente de nuestro grado de certeza, ocurrir un
elemento del conjunto universal S (es decir, el conjunto S es exhaustivo). El Axioma 2 es una
frmula de agregacin que se usa para calcular la probabilidad de la unin de subconjuntos
disjuntos. Establece que la incertidumbre de un cierto subconjunto es la suma de las
incertidumbres de sus partes (disjuntas).
De los axiomas anteriores puede deducirse propiedades muy interesantes de la probabilidad.
Por ejemplo.

Pgina 12 de 29
La propiedad 1 establece que la evidencia asociada a una ausencia completa de informacin es
cero. La propiedad 2 muestra que la evidencia de la pertenencia de un elemento a un conjunto
debe ser al menos la evidencia de cualquiera de sus subconjuntos. En otras palabras, la evidencia
de que un elemento pertenezca a un conjunto dado A no debe decrecer con la adicin de
elemento a A.
La propiedad 3 puede ser considerada como una propiedad de consistencia o continuidad. Si se
eligen dos sucesiones de conjuntos que convergen al mismo subconjunto de S, se debe obtener
la misma evidencia o incertidumbre. La propiedad 4 establece que las probabilidades de los
conjuntos , , , no son independientes, sino que estn relacionadas por 3.2.

3.1.2 Distribuciones de probabilidad


Sea {X1,,Xn} un conjunto de variables aleatorias discretas y {x1,,xn) el conjunto de sus
posibles realizaciones. Ntese que las variables aleatorias se denotan con maysculas y que sus
realizaciones se denotan con minsculas. Por ejemplo, si Xi es una variable binaria, entonces xi
puede ser 1 0. Los resultados que siguen son tambin validos si las variables son continuas,
pero en este caso los smbolos de suma deben sustituirse por integrales.
Sea p(x1,,xn) la funcin de probabilidad conjunta de las variables de X, es decir,

Entonces, la funcin de probabilidad marginal de la i-esima variable se obtiene mediante la


formula

El conocimiento de la ocurrencia de un suceso puede modificar las probabilidades de otros


sucesos. Por ejemplo, la probabilidad de que un paciente tenga una enfermedad dada puede
cambiar tras el conocimiento de los resultados de un anlisis de sangre. Por ello, cada vez que
se dispone de nueva informacin, las probabilidades de los sucesos pueden, y suelen, cambiar.
Esto conduce al concepto de probabilidad condicional.
Probabilidad condicional: sean X e Y dos conjuntos disjuntos de variabes tales que p(y) > 0.
Entonces, la probabilidad condicional (funcion de probabilidad condicionada) de X dado Y=y
viene dada por

La ecuacin 3.5 implica que la funcin de probabilidad conjunta de X e Y puede escribirse como

Pgina 13 de 29
Se obtiene un caso particular de 3.5 cuando X es una nica variable e Y es un subconjunto de
variables. En este caso, 3.5 se convierte en

Que es la funcin de probabilidad de la i-esima variable, Xi, dado el subconjunto de variables


{X1,,Xk}. La suma del denominador de 3.7 se extiende a todos los valores posibles de Xi.

3.1.3 Dependencia e independencia


Independencia de los valores: Sean X e Y dos subconjuntos disjuntos del conjunto de variables
aleatorias {X1,,Xn}. Entonces se dice que X es independiente de Y si y solamente si

Para todos los valores posibles x e y de X e Y; en otro caso, X se dice dependiente de Y.


La ecuacin 3.8 significa que si X es independiente de Y, entonces nuestro conocimiento de Y no
afecta a nuestro conocimiento sobre X, es decir, Y no tiene informacin sobre X. Tambin, si X
es independiente de Y, pueden combinarse 3.6 y 3.8 para obtener p(x,y)/p(y) = p(x), que implica

La ecuacin 3.9 indica que, si X es independiente de Y, entonces la funcin de probabilidad


conjunta de X e Y es igual al producto de sus marginales.
Una propiedad importante de la relacin de independencia es su simetra, es decir, si X es
independiente de Y, entonces Y es independiente de X. Esto ocurre porque:

Por la propiedad de simetra se dice que X e Y son independientes o mutuamente


independientes. La implicacin prctica de la simetra es que si el conocimiento de Y es relevante
(irrelevante) para X, entonces el conocimiento de X es relevante (irrelevante) para Y.
Los conceptos de dependencia e independencia de un conjunto de variables aleatorias pueden
ser extendidos al caso de ms de dos variables aleatorias como sigue:
Independencia de un conjunto de variables: las variables aleatorias {X1,,Xm} se dice que son
independientes si y solo si

Para todos los valores posibles x1,,xm de X1,,Xm. En otro caso, se dice que son dependientes.
En otras palabras, {X1,,Xm} se dicen independientes si y solo si su funcin de probabilidad
conjunta es igual al producto de sus funciones de probabilidad marginal.
Ntese tambin que si X1,,Xm son condicionalmente independientes dado otro subconjunto
Y1,,Yn, entonces

Pgina 14 de 29
Una implicacin importante de la independencia es que no es rentable obtener informacin
sobre variables independientes, pes es irrelevante. Es decir, independencia significa irrelevancia.
Dependencia e independencia condicional: Sean X, Y y Z tres conjuntos disjuntos de variables,
entonces X se dice condicionalmente independiente de Y dado Z, si y solo si

Para todos los valores posibles de x,y y z de X,Y y Z; en otro caso X e Y se dicen condicionalmente
dependientes dado Z.
Cuando X e Y son condicionalmente independientes dado Z, se escribe I(X,Y|Z). La relacin
I(X,Y|Z) se denomina relacin de independencia condicional. Similarmente, cuando X e Y son
condicionalmente dependientes dado Z, se escribe D (X,Y|Z), que se conoce como una relacin
de dependencia condicional. A menudo se agrega el subndice p para indicar que la relacin
deriva, o es implicada, por el modelo probabilstico asociado a la probabilidad p (la funcin de
probabilidad conjunta).
La definicin de independencia condicional lleva en si la idea de que una vez que es conocida >,
el conocimiento de Y no altera la probabilidad de X. En otras palabras, si Z ya es conocida, el
conocimiento de Y no aade informacin alguna sobre X.
Una definicin alternativa pero equivalente, de independencia condicional es

La equivalencia de 3.13 y 3.14 puede demostrarse de forma similar a la de 3.8 y 3.9.

3.1.4 Teorema de Bayes


Una conocida formula de la teora de la probabilidad puede obtenerse como sigue. Utilizando
3.3 y 3.5, se obtiene

La ecuacin 3.15 e conoce como Teorema de Bayes.


Para ilustrar el uso del teorema de Bayes, supngase que un paciente puede estar sano (no tiene
enfermedad alguna) o tiene una de m 1 enfermedades posibles {E1,,Em-1}. Por simplicidad
de notacin, sea E una variable aleatoria que puede tomar uno de m posibles valores, {e1,,em},
donde E = ei significa que el paciente tiene la enfermedad Ei, y E = em significa que el paciente
no tiene ninguna enfermedad. Supngase tambin que se tienen n sntomas {S1,,Sn}. Ahora,
dado que el paciente tiene un con conjunto de sntomas {s1,,sk}, se desea calcular la
probabilidad de que el paciente tenga la enfermedad Ei, es decir, E=ei. Entonces, aplicando el
teorema de Bayes, se obtiene

Conviene hacer los siguientes comentarios sobre la frmula 3.16:

Pgina 15 de 29
La probabilidad p(ei) se llama probabilidad marginal, prior, a priori o inicial de la
enfermedad E = ei puesto que puede ser obtenida antes de conocer los sntomas.
La probabilidad p(ei|s1,,sk) es la probabilidad posterior, a posteriori o condicional de
la enfermedad E = ei, puesto que se calcula despus de conocer los sntomas S1 =s1,,
Sk = sk.
La probabilidad p(s1,,sk|ei) se conoce por el nombre de verosimilitud de que un
paciente con la enfermedad E = ei tenga los sntomas S1=s1,,Sk=sk.
Por ello se puede utilizar el teorema de bayes para actualizar la probabilidad a posteriori
usando ambas, la probabilidad a priori y la verosimilitud.

3.2 INTRODUCIENDO LOS SISTEMAS EXPERTOS BASADOS EN PROBABILIDAD


El ncleo de los sistemas expertos basados en reglas es el conjunto de reglas que describen las
relaciones entre los objetos (variables). En los sistemas expertos probabilsticos las relaciones
entre las variables se describen mediante su funcin de probabilidad conjunta. Por ello, la
funcin de probabilidad conjunta forma parte de lo que se llama conocimiento.

En este ejemplo, los objetos o variables son la enfermedad E y los sntomas S1,,Sn. La funcin
de probabilidad conjunta de las variables (E,S1,,Sn) est dada por las frecuencias, es decir, el
nmero de pacientes que hay en cada una de las regiones del diagrama de la Figura 3.5.
Una variable se representa mediante una letra mayscula, mientras que la letra minscula
correspondiente representa uno de sus valores posibles (realizaciones). En este ejemplo, la
enfermedad D se supone que toma m valores posibles y los sntomas se suponen binarios. En
otras palabras, los posibles valores de E son e1,,em, y los valores posibles de la variable Sj son
1(presente) o 0 (ausente).
Las probabilidades asociadas a la enfermedad E pueden ser estimadas mediante

Donde N es el nmero total de pacientes de la base de datos y card(E=e) es el nmero de


pacientes con E=e. Por ejemplo,

Enfermedad e1 presente: ( = 1) ( = 1)/


Enfermedad e1 ausente: ( 1) ( 1)/

3.3 LA BASE DE CONOCIMIENTO


La base de conocimiento de un sistema experto basado en reglas consta de un conjunto de
objetos (variables) y del conjunto de reglas. La base de conocimiento de un sistema experto

Pgina 16 de 29
probabilstico consiste en un conjunto de variables, {X1,,Xn} y una funcin de probabilidad
conjunta definida sobre ellas, (1, , ). Por ello, para construir la base de conocimiento de
un sistema experto probabilstico, se necesita definir la funcin de probabilidad conjunta de las
variables.
El modelo ms general posible se basa en especificar directamente la funcin de probabilidad
conjunta; es decir, asignar un valor numrico (parmetro) a cada una de las posibles
combinaciones de valores de las variables. Desgraciadamente, la especificacin directa de la
funcin de probabilidad conjunta implica un gran nmero de parmetros. Por ejemplo, con n
variables binarias, la funcin de probabilidad conjunta ms general tiene 2 parmetros (las
probabilidades p(x1,,xn) para toda posible realizacin {x1,,xn} de las variables), un nmero
tan grande que no hay ordenador en el mundo capaz de almacenarlo incluso para un valor de n
tan pequeo como 50. Sin embargo, en la mayor parte de las situaciones prcticas, muchos
subconjuntos de variables pueden ser independientes o condicionalmente independientes. En
tales casos, se pueden obtener simplificaciones del modelo ms general teniendo en cuenta la
estructura de independencia de las variables. Esto suele dar lugar a una reduccin importante
del nmero de parmetros. Existen 4 simplificaciones:
El modelo de sntomas dependientes
El modelo de sntomas independientes

3.3.1 El modelo de sntomas dependientes


En este modelo, se supone que los sntomas son dependientes pero que las enfermedades son
independientes entre si, dados los sntomas. Entonces la funcin de probabilidad conjunta para
el MSD puede escribirse como:

Ahora, p(ei|s1,,sn) puede expresarse como

La proporcionalidad se sigue de que p(s1,,sn) es una constante de normalizacin. La ecuacin


3.24 muestra que los parmetros necesarios para la base de datos del MSD son:
Las probabilidades marginales p(ei), para todos los valores posibles de E.
Las verosimilitudes p(s1,,sn|ei), para todas las combinaciones posibles de sntomas y
enfermedades.

Pgina 17 de 29
3.3.2 El modelo de sntomas independientes
Debido a la imposibilidad de trabajar con el modelo anterior en muchos casos prcticos, resulta
necesario proceder a la simplificacin del modelo. Una simplificacin posible consiste en
suponer que, para una enfermedad dada, los sntomas son condicionalmente independientes
entre si. El modelo resultante se denomina modelo de sntomas independientes. En el MSI los
sntomas no estn ligados, para indicar la independencia.
Puesto que los sntomas se suponen condicionalmente independientes dada la enfermedad, se
tiene

Por ello se puede escribir la funcin de probabilidad conjunta de la enfermedad E dados los
sntomas s1,,sn como

A partir de la ecuacin 3.27, puede verse que los parmetros necesarios para la base de
conocimiento del MSI son
Las probabilidades a priori p(ei), para todos los valores posibles de la enfermedad E.
Las probabilidades condicionales p(sj|ei), para todos los valores posibles del sntoma Sj
y la enfermedad E.

3.4 EL MOTOR DE INFERENCIA


Hay dos tipos de conocimientos en los sistemas expertos probabilsticos:
1. El conocimiento, que esta formado por el conjunto de variables y el conjunto de
probabilidades asociadas necesarias para construir su funcin de probabilidad conjunta.
Este tipo de conocimiento se almacena en la base de conocimiento.
2. Los datos, que consisten en un conjunto de valores de algunas variables (por ejemplo,
sntomas) conocidas por el usuario. A esta informacin se la conoce con el nombre de
evidencia y se almacena en la memoria de trabajo.
Una de las tareas del motor de inferencia en los sistemas expertos probabilsticos consiste en
calcular las probabilidades condicionales de diferentes enfermedades cuando se conocen

Pgina 18 de 29
nuevos sntomas o datos. El motor de inferencia es responsable de actualizar las probabilidades
condicionales.

Para todos los posibles valores de los sntomas, y de decidir cuales tienen probabilidades
condicionales altas. Normalmente se selecciona un nmero reducido y se muestran al usuario
para observarlas y obtener las conclusiones pertinentes.
En 3.35, el papel del termino p(s1,.sk) consiste en actuar como una constante de
normalizacin. Por tanto, una decisin basada en el mximo de p(ei|s1,,sk) coincide con la
basada en el mximo de p(ei,s1,,sk). Por ello, los cocientes

Suministran informacin sobre la importancia relativa de las diferentes enfermedades.

3.5 CONTROL DE LA COHERENCIA


Uno de los problemas mas serios de los sistemas expertos es la presencia de incoherencias en
su base de conocimiento y/o en su memoria de trabajo. Hay varias razones para ello. Por
ejemplo,
1. Los expertos humanos pueden suministrar conocimiento incoherente.
2. El usuario puede suministrar datos incoherentes.
3. El motor de inferencia no actualiza los hechos.
4. No hay un subsistema para controlar la coherencia que evite que llegue conocimiento
inconsistente a la base de conocimiento y/o la memoria de trabajo.

4 PROBLEMAS, ESPACIOS PROBLEMA Y BSQUEDA


Para realizar un sistema que resuelva un problema especfico, es necesario realizar estas cuatro
acciones:
1. Definir el problema con precisin. La definicin debe incluir especificaciones precisas
tanto sobre la o las situaciones iniciales como sobre las situaciones finales que se
aceptaran como soluciones al problema.

Pgina 19 de 29
2. Analizar el problema. Algunas caractersticas de gran importancia pueden tener un gran
efecto sobre la conveniencia o no de utilizar las diversas tcnicas que resuelven el
problema.
3. Aislar y representar el conocimiento necesario para resolver el problema.
4. Elegir la mejor tcnica/s que resuelva el problema y aplicarla/s al problema particular.
Esta parte trata sobre definir el problema con precisin y analizar el problema.

4.1 DEFINICIN DEL PROBLEMA MEDIANTE UNA BSQUEDA EN UN ESPACIO DE ESTADOS.


Para construir un programa que juegue al ajedrez, primero se debe especificar la posicin
inicial del tablero, las reglas que definen los movimientos legales y las posiciones del tablero que
representan una victoria tanto para un lado como para el otro. Adems, se debe explicitar
previamente el objetivo implcito de no solo realizar un movimiento legal, sino que tambin
ganar la partida, si es posible.
Para el problema de jugar al ajedrez es bastante fcil dar una descripcin formal y completa del
problema. La posicin inicial se puede describir como un array de 8 por 8 posiciones donde cada
una contiene un smbolo, de acuerdo con las piezas situadas en posicin de comienzo de una
partida oficial de ajedrez. El objetivo se define como cualquier posicin del tablero en la que el
contrario no pueda realizar ningn movimiento legal y su rey este amenazado.
Los movimientos legales representan la forma de llegar a algn estado objetivo partiendo del
estado inicial. Se pueden describir fcilmente como un conjunto de reglas compuestas por dos
partes: una parte izquierda que se usa a modo de patrn para ser contrastado con la situacin
actual del tablero, y una parte derecha que describe el cambio que debe producirse en el tablero
para que refleje el movimiento.
Sin embargo, si se utilizan reglas como la anterior, es necesario escribir un nmero muy grande
de ellas, ya que existira una regla para cada una de las 10120 posibles posiciones del tablero. Al
usar tal cantidad de reglas aparecen dos serias dificultades prcticas:
Nadie puede suministrar un conjunto completo de tales reglas. Serian demasiadas y no
se podra evitar la aparicin de errores.
Ningn programa puede manipular todas estas reglas. Podra usarse un sistema de
hashing para poder encontrar ms rpidamente las reglas ms relevantes, pero an as,
almacenar tantas reglas crea muchas dificultades.
Con el fin de minimizar estos problemas, se debe buscar la forma de escribir las reglas que
describen los movimientos legales de la forma mas general posible. Para lograrlo es adecuado
introducir una nocin conveniente para describir los patrones y las sustituciones. En general
cuanto ms sucintamente se describan las reglas, menos trabajo se emplear para introducirlas
y el programa las usara con ms eficiencia.
Se ha definido el problema de jugar al ejedrez como un problema de movimientos a travs de
un espacio de estados, donde cada estado se corresponde con una posicin legal del tablero. Se
puede jugar al ajedrez, comenzando a partir de un estado inicial, mediante el uso de un conjunto
de reglas de movimientos que trasladan de un estado a otro para intentar finalizar en alguno de
los estados finales.
El mismo tipo de representacin es tambin adecuada para problemas menos estructurados,
aunque sea necesario utilizar estructuras ms complejas que una matriz para descubrir un
estado individual. La representacin como espacio de estados posee una estructura que se
corresponde con la estructura de la resolucin de problemas por dos importantes razones:

Pgina 20 de 29
Permite definir formalmente el problema, mediante la necesidad de convertir alguna
situacin dada en la situacin deseada usando un conjunto de operaciones permitidas.
Permite definir el estado de resolucin de un problema como una combinacin de
tcnicas conocidas (representadas por una regla que define un movimiento en el
espacio) y bsqueda, la tcnica general de exploracin en el espacio intenta encontrar
alguna ruta desde el estado actual hasta un estado objetivo. La bsqueda es un proceso
de gran importancia en la resolucin de problemas difciles para los que no se dispone
de tcnicas ms directas.
Con frecuencia, los problemas contienen de forma explcita o implcita la exigencia de encontrar
la secuencia ms corta (o ms rentable). Si es as, este requisito provoca un efecto significativo
en la seleccin del mecanismo que gua la bsqueda de una solucin.
Parece claro deducir que el primer paso que se debe dar para disear un programa que resuelva
un problema, es crear una descripcin formal y manejable del propio problema. Seria, entonces
muy adecuado poder escribir programas tales que ellos mismos produzcan descripciones
formales a partir de descripciones informales. Este proceso recibe el nombre de
operacionalizacin. Para producir una descripcin formal de un problema, debe hacerse lo
siguiente:
1. Disear un espacio de estados que contenga todas las configuraciones de los objetos
ms relevantes (y quiz algunos imposibles). Es, por supuesto, posible definir este
espacio sin tener que hacer una enumeracin de todos y cada uno de los estados que
contiene.
2. Identificar uno o ms estados que describan situaciones en las que comience el proceso
de resolucin del problema. Estos se denominan estados iniciales.
3. Especificar uno o ms estados que pudieran ser soluciones aceptables del problema.
Estos estados se denominan estados objetivo.
4. Especificar un conjunto de reglas que describan las acciones (operadores) disponibles.
Para realizarlo se debe meditar acerca de os siguientes temas:
a. Qu suposiciones presentes en la descripcin informal del problema no estn
expresadas como tales?
b. Qu generalidad deben tener las reglas?
c. Qu cantidad del trabajo necesario para resolver el problema debe ser
procesado y representado en forma de reglas?
De esta forma, el problema puede resolverse con el uso de las reglas en combinacin con una
estrategia apropiada de control para trasladarse a travs del espacio problema hasta encontrar
una ruta desde un estado inicial hasta un estado objetivo.
De esta forma, el proceso de bsqueda es fundamental en el proceso de resolucin de
problemas. El hecho de que el proceso de bsqueda forme la base de la resolucin de problemas
no significa, sin embargo, que no puedan utilizarse otras aproximaciones ms directas al
problema. Cuando sea posible, deben incluirse como partes en la bsqueda, codificndolas
como reglas.

4.2 LOS SISTEMAS DE PRODUCCIN


Debido a que la bsqueda es el ncleo de muchos procesos inteligentes, es adecuado estructurar
los programas de IA de forma que se facilite describir y desarrollar el proceso de bsqueda. Los
sistemas de produccin proporcionan tales estructuras. Ms abajo se introduce una definicin
de sistema de produccin. Un sistema de produccin consiste en:

Pgina 21 de 29
1. Un conjunto de reglas compuestas por una parte izquierda (un patrn) que determina
la aplicabilidad de la regla, y una parte derecha que describe la operacin que se lleva a
cabo. (Tener una serie de condiciones antecedentes).
2. Una o ms bases de datos/conocimiento que contengan cualquier tipo de informacin
apropiada para la tarea en particular. Partes de la base de datos pueden ser
permanentes, mientras que otras pueden hacer referencia solo a la solucin del
problema actual. La informacin almacenada en estas bases de datos debe
estructurarse de forma adecuada. (tener el conocimiento de cmo resolver el problema)
3. Una estrategia de control que especifique el orden en el que las reglas se comparan con
la base de datos y la forma de resolver los conflictos que surjan cuando varias reglas
puedan ser aplicadas a la vez. (Mtodo de bsqueda)
4. Un aplicador de reglas. (Motor de inferencia)
Se ha visto que, para poder resolver un problema, primero hay que reducirlo a una forma en la
que pueda darse una definicin precisa. Esto puede lograrse mediante la definicin de un
espacio de estados del problema (incluyendo los estados iniciales y finales), y de un conjunto de
operadores para trasladarse a travs del espacio. El problema se reduce entonces a buscar una
ruta a travs del espacio que una un estado inicial con un estado objetivo. El proceso de
resolucin del problema puede modelarse como un sistema de produccin.

4.3 ESTRATEGIAS DE CONTROL


Hasta ahora se ha ignorado por completo la cuestin de cmo se decide que regla hay que
aplicar durante el proceso de bsqueda de la solucin de un problema. Esta cuestin surge
debido a que con frecuencia es posible aplicar ms de una regla (y algunas veces menos de una)
cuando sus partes izquierdas casan con el estado actual. Sin necesidad de pensar mucho, parece
claro que estas decisiones tienen un impacto crucial en la rapidez, y tal vez en la posibilidad, de
resolucin del problema.

El primer requisito que debe cumplir una buena estrategia de control es que cause algn
cambio. Las estrategias de control que no causan cambio de estado nunca alcanzan la
solucin.
El segundo requisito que debe cumplir una buena estrategia de control es que sea
sistemtica. Debido a que la estrategia de control no es sistemtica, es posible utilizar
secuencias de operadores no apropiadas varias veces hasta encontrar finalmente la
solucin. El requisito de que una estrategia de control sea sistemtica se corresponde
con una necesidad de cambio global (en el curso de varios pasos) tanto como de cambio
local (en el curso de un paso sencillo).

4.3.1 Bsqueda primero en amplitud


Una estrategia de control sistemtica podra ser la siguiente: se construye un rbol cuya raz sea
el estado inicial; todas las ramificaciones de la raz se generan al aplicar cada una de las reglas
aplicables al estado inicial. Ahora, para cada nodo, se generan todas las posibles situaciones
restantes de la aplicacin de todas las reglas adecuadas. Se continua con este proceso hasta que
alguna regla produce un estado objetivo. Este proceso, es denominado proceso primero en
amplitud.

4.3.1.1 Ventajas de la bsqueda primero en amplitud


La bsqueda primero en amplitud no queda atrapada explorando callejones sin salida.
Esto se contrapone con la bsqueda primero en profundidad en la que se puede seguir
una ruta infructuosa durante mucho tiempo, y quizs para siempre, antes de acabar en
un estado sin sucesores. Esto es particularmente un problema en la bsqueda primero
en profundidad si hay ciclos (por ejemplo, un estado tiene como sucesor un estado que

Pgina 22 de 29
es tambin uno de sus antecesores), a no ser que se tenga un cuidado especial en
verificar tales situaciones.
Si existe una solucin, la bsqueda primero en amplitud garantiza que se logre
encontrarla. Adems, si existen mltiples soluciones, se encuentra la solucin mnima
(es decir, la que requiere el mnimo numero de pasos). Esto est garantizado por el
hecho de que no se explora una ruta larga hasta que se hayan examinado todas las rutas
ms cortas que ella. En cambio, en la bsqueda primero en profundidad es posible
encontrar una solucin larga en alguna parte del rbol, cuando puede existir otra mucho
ms corta en alguna parte inexplorada del mismo.

4.3.2 Bsqueda primero en profundidad


Tambin pueden servir otras estrategias de control sistemticas. Por ejemplo, se podra
continuar por una sola rama del rbol hasta encontrar una solucin o hasta que se tome la
decisin de terminar la bsqueda por esa direccin. Terminar la bsqueda por una ruta tiene
sentido cuando se llega a un callejn sin salida, se produce un estado ya alcanzado o la ruta se
alarga ms de lo especificado en algn lmite de inutilidad. Si esto ocurre, se produce una
vuelta atrs (backtracking). Se revisita el estado ms recientemente creado desde el que sea
posible algn movimiento alternativo ms y se crea as un nuevo estado. Esta forma de vuelta
atrs se denomina vuelta atrs cronolgica debido a que el orden en el que se deshacen los
pasos depende nicamente de la secuencia temporal en que se hicieron originalmente esos
pasos. En definitiva, el paso ms reciente es siempre el primero que se deshace. El
procedimiento de bsqueda descrito se denomina tambin bsqueda primero en profundidad.
El siguiente algoritmo lo define con precisin.

4.3.2.1 Ventajas de la bsqueda primero en profundidad


La bsqueda primero en profundidad necesita menos memora ya que solo se almacenan
los nodos del camino que se sigue en ese instante. Esto contrasta con la bsqueda
primero en amplitud, en la que debe almacenarse todo el rbol que haya sido generado
hasta ese momento.
Si se tiene suerte (o si se tiene cuidado en ordenar los estados alternativos), la bsqueda
primero en profundidad puede encontrar una solucin sin tener que examinar gran
parte del espacio de estados. En el caso de la bsqueda primero en amplitud debe
examinarse todas las partes del rbol del nivel n antes de comenzar con los nodos de
nivel n+1. Esto es particularmente relevante en el caso de que existan varias soluciones
aceptables. La bsqueda primero en profundidad acaba al encontrar una de ellas.

Para problemas sencillos, la mayora de las estrategias de control que provoquen movimiento y
sean sistemticas, siempre se lograran encontrar la respuesta. Sin embargo, este no es siempre
el caso. Para poder llegar a la solucin de algunos problemas antes de morir, es necesario
tambin demandar una estructura de control eficiente. Considere el siguiente problema:
El problema del viajante de comercio: Un vendedor tiene una lista de ciudades, cada una de las
ciudades debe visitar exactamente una vez. Existen carreteras directas entre cada pareja de
ciudades de la lista. Encontrar la ruta ms corta posible que debe seguir el vendedor que
empiece y termine en alguna de estas ciudades.
En principio, se puede resolver el problema con una sencilla estructura de control que cause
movimiento y sea sistemtica. Se podra simplemente explorar todas las rutas posibles en el
rbol y devolver la que tenga menos longitud. Esta estrategia puede funcionar en la prctica
para listas con muy pocas ciudades, pero se colapsa rpidamente conforme el nmero de
ciudades aumenta. El viajante podra perfectamente tener que visitar 25 ciudades. Encontrar la
solucin a este problema necesitara ms tiempo que el que podramos gastar. Este fenmeno

Pgina 23 de 29
se denomina explosin combinatoria, para combatirla es necesaria una nueva estrategia de
control.

4.4 BSQUEDA HEURSTICA


Con el fin de resolver problemas complicados con eficiencia, con frecuencia es necesario
comprometer los requisitos de movilidad y sistematicidad, y construir una estructura de control
que no garantice encontrar la mejor respuesta pero que casi siempre encuentre una buena
solucin. De esta forma, surge la idea de heurstica. Una heurstica es una tcnica que aumenta
la eficiencia de un proceso de bsqueda posiblemente sacrificando demandas de completitud.
Algunas heursticas ayudan a guiar el proceso de bsqueda sin sacrificar ninguna demanda de
completitud que el proceso haya podido tener previamente. Otras (en realidad, muchas de las
mejores) pueden ocasionalmente causar que una buena ruta sea pasada por alto. Pero, en
promedio, mejoran la calidad de las rutas que exploran. Al usar buenas heursticas se pueden
esperar buenas (aunque posiblemente no optimas) soluciones para problemas difciles.

5 TCNICAS DE BSQUEDA HEURSTICA


Se dijo que muchos de los problemas que caen dentro de los lmites de la inteligencia artificial
son demasiado complejos para resolverlos mediante tcnicas directas; es mejor intentar
resolverlos mediante tcnicas adecuadas de bsqueda apoyadas por cualquier tcnica directa
que est disponible para guiar la bsqueda. Estos mtodos estn formados por todas las
variedades de bsquedas heursticas. Pueden describirse independientemente de la tarea
especfica o del dominio del problema. Sin embargo, cuando se aplican a problemas especficos,
su eficiencia depende en gran medida de la forma en que se exploten el conocimiento del
dominio particular, ya que, por si solas, las tcnicas heursticas no son capaces de salvar la
explosin combinatoria a la que son tan vulnerables los procesos de bsqueda.

5.1 GENERACIN Y PRUEBA


La estrategia de generacin y prueba es la ms simple de todas las que se van a explicar. Consiste
en realizar los siguientes pasos.
1. Generar una posible solucin. Para algunos problemas, esto significa generar un
objetivo particular en el espacio problema. Para otros, supone ms bien generar un
camino a partir de un estado inicial.
2. Verificar si realmente el objetivo elegido es una solucin comparndolo con el objetivo
final o comparando el camino elegido con el conjunto de estados objetivo aceptable.
3. Si se ha encontrado la solucin terminar, si no, volver al paso 1.
Si se generan las posibles soluciones de forma sistemtica, si la solucin existe, este
procedimiento es capaz de encontrarla en algn momento. Desafortunadamente si el espacio
problema es muy grande, en algn momento puede ser demasiado tiempo.
El algoritmo de generacin y prueba es un procedimiento de bsqueda primero en profundidad
ya que las soluciones completas deben generarse antes de que se comprueben. De una forma
ms sistemtica, es simplemente una bsqueda exhaustiva por el espacio problema. El mtodo
de generacin y prueba puede, por supuesto, funcionar de forma que genere las soluciones de
forma aleatoria, pero esto no garantiza que se pueda encontrar alguna vez la solucin.
Entre estos dos extremos existe un punto medio en donde el proceso de bsqueda acta de
forma sistemtica, a pesar de que algunos caminos no se consideren porque dan la impresin

Pgina 24 de 29
de que por ellos no se llega a la solucin. Esta evaluacin se lleva a cabo mediante una funcin
heurstica.
La forma ms sencilla de implementar una generacin y prueba sistemtica es mediante un rbol
de bsqueda primero en profundidad con vuelta atrs. Sin embargo, si algunos estados
intermedios aparecen con frecuencia en el rbol, puede resultar mejor modificar el
procedimiento descrito antes, para que recorra un grafo en lugar de un rbol. Para problemas
sencillos, una generacin y prueba exhaustiva es normalmente una tcnica razonable.
Desafortunadamente, para problemas mucho ms complicados que este, una tcnica de
generacin y prueba heurstica no es muy eficiente por si misma. Pero cuando se combina con
otras tcnicas que restrinjan el espacio de bsqueda, la tcnica puede llegar a ser muy eficaz.

5.2 ESCALADA
El mtodo de escalada es una variante del de generacin y prueba; en el existe realimentacin
a partir del procedimiento de prueba que se usa para ayudar al generador a decidirse por cual
direccin debe moverse en el espacio de bsqueda. En un procedimiento de generacin y
prueba puro, la funcin de prueba responde solo un s o un no. Pero si la funcin de prueba se
ampla mediante una funcin heurstica que proporcione una estimacin de lo cercano que se
encuentra un estado al estado objetivo, el procedimiento de generacin puede usar esta
informacin. Adems, esto es particularmente apropiado porque normalmente el clculo de la
funcin heurstica pude hacerse, casi sin coste alguno, al mismo tiempo en que se est llevando
a cabo la verificacin de una solucin. La escalada se utiliza frecuentemente cuando se dispone
de una buena funcin heurstica para evaluar los estados, pero cando no se dispone de otro tipo
de conocimiento provechoso. Por ejemplo, suponga que se encuentra en una ciudad
desconocida sin ningn mapa, y que quiere llegar al centro. Usted simplemente ira hacia los
rascacielos. La funcin heurstica seria en este caso la distancia existente entre su posicin y los
rascacielos, y los estados deseables son aquellos en que esa distancia se minimiza.
Una forma de caracterizar a los problemas es respondiendo a la pregunta una solucin
adecuada, es absoluta o relativa?. Las soluciones son absolutas cuando es posible reconocer
un estado objetivo simplemente con examinarlo. Llegar al centro de una ciudad es un ejemplo
de un problema de este tipo. Para estos problemas, la escalada termina en el momento en que
se alcanza el estado objetivo. Las soluciones relativas nicamente existen en problemas de
maximizacin o minimizacin, tales como el problema del viajante de comercio. En estos
problemas, no existe estado objetivo a priori. Para problemas como estos, parece lgico
abandonar la escalada si no existe un estado razonable alternativo al que moverse.

5.2.1 Escalada simple


La principal diferencia que existe entre este algoritmo y el que se ha dado para la tcnica de
generacin y prueba, consiste en el uso de una funcin de evaluacin como una forma de
introducir conocimiento especifico de la tarea realizada en el proceso de control. La utilizacin
de este conocimiento es lo que hace a este mtodo, mtodo de bsqueda heurstica y es este
conocimiento lo que da a estos mtodos la capacidad de resolver algunos problemas que de
otra manera serian inabordables.
Ntese que en este algoritmo se ha formado relativamente vaga pregunta es un estado mejor
que otro? Para que el algoritmo pueda funcionar, es necesario proporcionar una definicin
precisa del termino mejor. En algunos casos, significa un valor ms alto de una funcin
heurstica; en otros, significa un valor ms bajo.

Pgina 25 de 29
5.2.2 Escalada por mxima pendiente
Una variacin til del modelo de escalada simple consiste en considerar todos los posibles
movimientos a partir del estado actual y elegir el mejor de ellos como nuevo estado. Este
mtodo se denomina mtodo de escalada por la mxima pendiente o bsqueda del gradiente.
Existe un compromiso entre el tiempo necesario para seleccionar un movimiento (normalmente
ms largo para una escalada por la mxima pendiente) y el nmero de movimientos necesarios
para alcanzar una solucin (normalmente ms para una escalada simple), que debe ser
considerado al decidir que mtodo sera mejor para un problema en particular.
Tanto la escalada bsica como la mxima pendiente pueden no encontrar una solucin.
Cualquiera de los dos algoritmos puede acabar sin encontrar un estado objetivo, y en cambio
encontrar un estado del que no sea posible generar nuevos estados mejores que l. Esto ocurre
si el programa se topa con un mximo local, una meseta o una cresta.
Mximo local: es un estado que es mejor que todos sus vecinos pero que no es mejor
que otros estados de otros lugares. En un mximo local todos los movimientos producen
estados peores. Los mximos locales son particularmente frustrantes porque
frecuentemente aparecen en las cercanas de una solucin.
Meseta: Es un rea plana del espacio de bsqueda en la que un conjunto de estados
vecinos posee el mismo valor. En una meseta no es posible determinar la mejor
direccin a la que moverse haciendo comparaciones locales.
Cresta: es un tipo especial de mximo local. Es un rea del espacio de bsqueda ms
alta que las reas circundantes y que adems posee en ella misma una inclinacin (la
cual se podra escalar). Pero la orientacin de esta regin alta, comparada con el
conjunto de movimientos disponibles y direcciones en la que moverse, hace que sea
imposible atravesar la cresta mediante movimientos simples.
Existen algunas formas de evitar estos problemas, si bien estos mtodos no dan garantas:

Volver atrs hacia algn nodo anterior e intentar seguir un camino diferente. Es
especialmente razonable si el nodo posee otra direccin que d la impresin de ser tan
prometedora, o casi tan prometedora, como la que se eligi. Para implementar esta
estrategia, se debe mantener una lista de caminos que casi se han seguido y volver a
uno de ellos, si el camino que se ha seguido da la impresin de ser un callejn sin salida.
Este mtodo es especialmente adecuado para superar mximos locales. Se pierde la
esencia del mtodo escalada.
Realizar un gran salto en alguna direccin para intentar buscar en una nueva parte del
espacio de bsqueda. Este mtodo est especialmente indicado para superar mesetas.
Si la nica regla aplicable describe pequeos pasos, aplicarla varias vedes en la misma
direccin.
Aplicar dos o ms reglas antes de realizar la evaluacin. Esto se corresponde con
movimientos en varias direcciones a la vez. Este mtodo es especialmente bueno para
superar crestas.
Incluso con estas tres medidas de primeros auxilios, la escalada no es siempre muy eficaz.
Especialmente es inadecuada para problemas en los que el valor de la funcin heurstica cambia
bruscamente al alejarse de una solucin. Esto ocurre frecuentemente aparece un efecto umbral.
La escalada es un mtodo local, lo que significa que decide cual va a ser el siguiente movimiento
atendiendo nicamente a las consecuencias inmediatas que va a tener esa eleccin, en lugar
de explorar exhaustivamente todas las consecuencias.
Posee la ventaja de provocar una explosin combinatoria menor que los mtodos globales. Sin
embargo, tambin posee con otros mtodos locales una falta de garantas de que va a resultar

Pgina 26 de 29
eficaz. Aunque es verdad que el procedimiento de escalada en s mismo solo realiza un
movimiento hacia adelante y nunca otros ms alejados, esta exploracin, puede de hecho,
utilizar una cantidad arbitraria de informacin global si esta informacin esta codificada en la
funcin heurstica.

5.3 BSQUEDA PRIMERO EL MEJOR


Hasta este momento, solo se han explicado realmente dos estrategias de control sistemticas,
la bsqueda primero en amplitud y la bsqueda primero en profundidad (en varias formas). En
este apartado se explica un nuevo mtodo, la bsqueda del primero mejor, que representa una
forma de combinar las ventajas que presentan la bsqueda primero en amplitud como la
primera en profundidad en un solo mtodo.
La bsqueda primero en profundidad tiene la ventaja de que permite encontrar una solucin sin
tener que expandirse completamente por todas las ramas. La bsqueda primero en amplitud
presenta la ventaja de que no queda atrapada en callejones sin salida. Una forma de combinar
ambas ventajas puede consistir en seguir un nico camino cada vez, y cambiarlo cuando alguna
ruta parezca ms prometedora que la que se est siguiendo en ese momento.
En cada paso del proceso de bsqueda el primero mejor, se selecciona el nodo ms prometedor
que se haya generado hasta ese momento. Esto se puede conseguir con una funcin heurstica
apropiada. A continuacin, se expande el nodo elegido aplicando las reglas para generar a sus
sucesores. Si alguno de ellos es una solucin, el proceso termina. Si no es as, estos nuevos nodos
se aaden a la lista de nodos que se han generado hasta ese momento. De nuevo se selecciona
el ms prometedor de ellos y el proceso continua de la misma forma. Lo normal es que la forma
de funcionar parezca un poco a la bsqueda primero en profundidad al explorar las ramas. Sin
embargo, si no se encuentra una solucin, la rama empezara a parecer menos prometedora que
otras por encima de ella y que se haban ignorado. En este caso, una rama que previamente se
haba ignorado aparece ahora como la ms prometedora y, por lo tanto, comienza su
exploracin. Sin embargo, la vieja rama no se olvida. Su ltimo nodo se almacena en el conjunto
de nodos generados, pero aun sin expandir. La bsqueda puede volver a l en el momento en
que los otros sean lo suficientemente malos como para que este sea de nuevo el camino ms
prometedor de todos.
Este procedimiento es muy similar al de escalada por la mxima pendiente, excepto en dos
aspectos. En el mtodo de la escalada, al seleccionar un movimiento todos los dems se
abandonan y nunca pueden volver a ser considerados. Esta es la causa del caracterstico
comportamiento del mtodo de escalada. En el mtodo de bsqueda del primero mejor, se
sigue seleccionado un movimiento, pero todos los dems se mantienen de forma que pueden
visitarse si el camino que se ha seleccionado llega a ser menos prometedor. Adems de eso, en
la bsqueda del primero mejor se selecciona el mejor estado disponible, aun si este estado tiene
un valor menor que el del que se estaba explorando. Esto contrasta con el mtodo de la escalada
donde el proceso se detiene si no se encuentra un estado sucesor mejor que el estado actual.
Para poder implementar un procedimiento de bsqueda sobre un grafo se necesitan dos listas
de nodos:
Abiertos: nodos que se han generado y a los que se les ha aplicado la funcin heurstica,
pero an no han sido examinados (es decir no se han generado sus sucesores). La lista
de ABIERTOS es, en realidad, una cola con prioridad en las que los elementos con mayor
prioridad son aquellos que tienen un valor ms prometedor que la funcin heurstica.
Para manipular la lista pueden utilizarse las tcnicas usuales de manipulacin de colas
de prioridad.

Pgina 27 de 29
Cerrados: nodos que ya se han examinado. Es necesario mantener estos nodos en
memoria si lo que se desea es hacer una bsqueda sobre un grafo y no sobre un rbol,
debido a que cuando se genera un nuevo nodo, se debe verificar si ese nodo se haba
generado con anterioridad.
Tambin se necesita una funcin heurstica que haga una estimacin de los mritos de cada uno
de los nodos que se van generando. Esto permite que el algoritmo examine primero los caminos
mas prometedores. Llamaremos a esta funcin f (para indicar que se trata de una aproximacin
a la funcin f, que es la que proporciona la verdadera evaluacin de cada nodo). Para muchas
aplicaciones, es adecuado definir esta funcin como la suma de dos componentes denominados
g y h. La funcin g es una medida del coste para ir desde el estado inicial hasta el nodo actual.
La funcin h es una estimacin del coste adicional necesario para alcanzar un nodo objetivo a
partir del nodo actual. La funcin combinada f, representa entonces una estimacin del coste
necesario para alcanzar un estado objetivo por el camino que se ha seguido para generar el nodo
actual. Si un nodo puede generarse por ms de un camino, el algoritmo se queda solo con el
mejor de ellos.
Ntese que, ya que g y h deben sumarse, es importante que h represente una medida del
coste de ir desde un nodo dado a una solucin (es decir, los nodos buenos poseen valores bajos;
los nodos malos tienen valores altos) en lugar de una medida de la bondad de un nodo (es decir,
los buenos nodos tienen valores altos). Sin embargo, eso es fcil de arreglar gracias a la buena
colaboracin de los signos negativos. Tambin es importante que g no sea negativa. Si esto no
se cumple, los caminos que atraviesan ciclos a lo largo del grafo parecern mejores conforme
sean ms largos.

5.3.1 El algoritmo A*
El algoritmo de bsqueda del primero el mejor descrito antes es una simplificacin del algoritmo
denominado A*. Este algoritmo utiliza las mismas funciones f, g y h, as como las listas
ABIERTOS Y CERRADOS, que ya se han descritos.
Se pueden hacer interesantes observaciones sobre este algoritmo. La primera de ellas hace
referencia al papel que desempea la funcin g. Esta funcin permite hacer la eleccin del nodo
que se va a expandir a continuacin sobre la base, no solo de la bondad que el nodo en s mismo
pueda indicar (medida por h), sino sobre la base de la bondad del camino que ha conducido a
ese nodo. Con la incorporacin de g en f no siempre se elige como el siguiente nodo a expandir
aquel que parece ms cercano al objetivo. Esto es til si el camino elegido tiene relevancia. Si
solo es relevante alcanzar el objetivo sea de la forma que sea, se puede definir g como 0, de
forma que siempre se elige el nodo que parezca ms cercano al objetivo final. Si lo que se desea
es encontrar un camino con el menor nmero de pasos posibles, se hace que el coste aplicado
para pasar de un nodo a otro sea constante, normalmente 1. Si, por el contrario, se desea
encontrar el camino de menor coste de forma que algunos operadores tengan mayor coste que
otros, se hace que el coste aplicado al pasar de unos nodos a otro refleje estos costes. De esta
forma, el algoritmo A* puede usarse si se est interesado en encontrar un camino de coste total
mnimo o simplemente el camino ms rpido posible.
La segunda observacin hace referencia a h, el estimador de h, que informa de la distancia de
un nodo al objetivo. Si h hace una estimacin perfecta de h, entonces el algoritmo A* converge
inmediatamente hacia el objetivo. Cuanto ms se acerque a esta aproximacin directa, mejor es
la funcin h. Si, por otro lado, el valor de h es siempre 0, la funcin g ser la que controle la
bsqueda. Si el valor de g es tambin 0, la estrategia de bsqueda ser aleatoria. Si el valor de g
es siempre 1, la bsqueda ser primero en amplitud. Todos los nodos de un determinado nivel
tendrn valores de h ms bajos (y, por lo tanto, tambin de f) que todos los nodos del siguiente
nivel. Qu ocurre si, por otra parte, h no es ni perfecta ni 0? Podra decirse algo interesante

Pgina 28 de 29
sobre el comportamiento de la bsqueda? La respuesta es afirmativa si se puede garantizar que
h nunca sobrestima a h. En este caso, el algoritmo A* garantiza que encontrara un camino
optimo (Determinado por g) hasta el objetivo, si es que existe.
Si se subestima h se ha desperdiciado esfuerzo. Pero en algn momento, se descubre que el
nodo est ms lejos de lo que se pensaba, por lo que se regresa y se intenta otro camino.
Al hacer una sobrestimacin de h, ocurre que el nodo parece tan malo que se intenta encontrar
otra solucin mejor, aunque en realidad sea peor, sin siquiera expandir el nodo anteriormente
considerado como malo. En general, si h sobrestima a h, no puede garantizarse la consecucin
del camino solucin de menor coste, a no ser que se expanda todo el grafo hasta que todos los
caminos sean ms largos que la mejor solucin. Otra cuestin es Qu significado practico tiene
el teorema de que si h nunca sobrestima a h entonces A* es admisible? La respuesta es casi
ninguno, ya que, en la mayora de los problemas reales, la nica forma de garantizar que h
nunca sobrestima a h es hacer que su valor sea siempre 0. Esto significa una vuelta a la bsqueda
primero en profundidad, lo cual es admisible pero no eficiente. Sin embargo, existe un corolario
a este teorema que es muy til. Puede enunciarse aproximadamente de la siguiente forma:
La elegante cada de la admisibilidad: Si h raramente sobrestima a h ms de 0, entonces el
algoritmo A* raramente encuentra solucin cuyo coste sea ms que 0 mayor que el coste de la
solucin ptima.
La tercera observacin que se va a hacer sobre el algoritmo A* tiene que ver con la relacin
entre los rboles y los grafos. El algoritmo se ha descrito en su forma ms general aplicndolo a
grafos. Por supuesto puede simplificarse para aplicarse a arboles haciendo que no se compruebe
si un nuevo nodo se encuentra en ABIERTOS O CERRADOS. Esta simplificacin lo hace ms rpido
al generar nodos, pero puede ocurrir que la bsqueda se desarrolle varias veces por el mismo
camino si los nodos se repiten con frecuencia.

Pgina 29 de 29

También podría gustarte