Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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:
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.
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.
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.
Pgina 6 de 29
inicialmente por el experto humano puede requerir una sustitucin posterior por un conjunto
de reglas equivalente para satisfacer estas restricciones.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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
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
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.
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
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.
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.
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.
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).
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.
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.
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.
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.
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