You are on page 1of 30

CAPÍTULO I: AGENTES QUE RESUELVEN

PROBLEMAS

1.1 CONCEPTO.

Son agentes basados en metas que determinan que deberán hacer por medio de
secuencias de acciones que les permitan obtener estados deseables.
Utilizan algoritmos (no dan información sobre el problema salvo su definición).

Los objetivos ayudan a dirigir el comportamiento del agente limitando las acciones que
intenta realizar.

1.2 PASOS PARA LA SOLUCIÓN DE PROBLEMAS

Se sigue lo siguiente:
 Formulación de metas: Se establece la función objetivo basándose en la
situación actual y la medida de rendimiento del agente.
 Formulación del problema: se decide que acciones y estados habrán de
considerarse.
 Búsqueda: evaluación de las posibles secuencias de acciones que le llevan a la
meta y elección de la más apta.
 Ejecución: se llevan adelante la solución que presenta la búsqueda.

Un agente con distintas opciones inmediatas de valores desconocidos puede decidir que
hacer, examinando las diferentes secuencias posibles de acciones que le conduzcan a
estados de valores conocidos, y entonces escoger la mejor secuencia.

1.3 DEFINICIÓN DE PROBLEMAS

Es un conjunto de información que el agente utiliza para decidir lo que va a hacer.


Un problema esta compuesto por:
Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

 Un estado inicial que es donde se encuentra el agente.


 Un conjunto de acciones que le agente puede emprender.
 La prueba de meta para saber si alcanzo un estado meta.
 La función costo de ruta que le asigna un valor a una ruta determinada.

1.4 TIPOS DE PROBLEMAS:

 Problemas de un solo estado: El agente conoce con exactitud en que estado


se encuentra y el resultado de cada una de sus acciones.

 Problemas de estados múltiples: el agente no conoce con exactitud en que


estado se encuentra, pero si el resultado de cada una de sus acciones.

 Problemas de contingencias: el agente no conoce con exactitud en que estado


se encuentra, pero si el resultado de cada una de sus acciones, aunque se le pueden
presentar ciertas contingencias en las mismas.

 Problemas de exploración: el agente no conoce con exactitud en que estado


se encuentra, ni el resultado exacto de cada una de sus acciones.

1.5 EFICIENCIA PARA RESOLVER PROBLEMAS

Hay tres formas para medir la eficiencia de la búsqueda:


 Según permita o no alcanzar la solución.
 Según su costo de ruta.
 Según el costo de tiempo y memoria para alcanzar la solución.

1.6 EJEMPLOS:

1.6.1. Hallar rutas en Rumania

M.S. Diana Cecilia Muñoz Casanova 75


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Estamos de vacaciones en Rumania, concretamente en Arad y nuestro vuelo
sale mañana de Bucarest.

 Formulación de objetivos: Estar en Bucarest

 Formulación del problema


 Estados: Distintas ciudades.
 Acciones: Conducir entre ciudades

 Encontrar solución: por ejemplo: secuencia de ciudades, Arad,


Sibiu, Fagaras, Bucarest.

 Esquema

Figura Nº 14: Mapa de las Rutas

El problema puede estar definido por:


 Estado inicial: p.e. “en Arad”
 Operadores: Operadores que lleven de una ciudad a otra según
el mapa,
p.e. Arad => Zerind,Arad => Sibiu,etc
 Test de objetivo: explicito, p.e. x = “en Bucharest”
 Coste del camino: Número de etapas del viaje.

M.S. Diana Cecilia Muñoz Casanova 76


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Una solución
Seria una ruta que lleve de Arad a Bucarest.
p.e. Arad => Sibiu => Rimnicu Vilcea => Pitesti => Bucharest
La formulación de problemas de conjuntos de estados se realiza de manera
similar.

1.6.2. El puzzle de las 8 piezas

Estado Inicial Estado Objetivo

Figura Nº 15: Juego del Puzzle


 Estados: posiciones de las piezas y del hueco.
 Operadores: Llevar el hueco a izquierda, derecha, arriba o abajo.
 Test de objetivo: El estado objetivo predefinido.
 Coste del camino: 1 por movimiento.

Hallar la longitud de Ruta: _____________________


Hallar su costo : _____________________

M.S. Diana Cecilia Muñoz Casanova 77


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

CAPÍTULO II: BÚSQUEDA DE SOLUCIONES

2.1 CONCEPTO

La búsqueda consiste en escoger una opción, haciendo a un lado las demás para
considerarlas posteriormente en caso de no obtener respuesta alguna mediante la primera
opción. La búsqueda termina cuando se encuentra una solución o cuando no hay más
estados que expandir.

2.2 ÁRBOLES DE BÚSQUEDA

Componentes en la estructura de datos para los árboles de búsqueda:


 El estado al que corresponda el nodo.
 El nodo padre.
 El operador que se aplico para generar el nodo.
 La profundidad del nodo (distancia hasta la raíz).
 El costo de ruta desde el estado inicial hasta el nodo.

2.3 ESTRATEGIA DE BÚSQUEDA

Las estrategias de búsqueda se evalúan según los siguientes criterios:


 Completez: si garantiza o no encontrar la solución si es que existe.
 Complejidad temporal: cantidad de tiempo necesario para encontrar la
solución.
 Complejidad espacial: cantidad de memoria necesaria para encontrar la
solución.
 Optimidad: si se encontrará o no la mejor solución en caso de que existan
varias.

2.4 TIPOS DE ESTRATEGIAS DE BÚSQUEDA

M.S. Diana Cecilia Muñoz Casanova 78


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Las estrategias de búsqueda se pueden agrupar en dos grandes grupos:
 Búsquedas sin contar con información (o búsqueda ciega): no existe
información acerca de la cantidad de pasos necesarios o sobre el costo de ruta
para pasar del estado de un momento dado a la meta.
 Búsqueda respaldada con información (o búsqueda heurística): Se posee
información muy valiosa para orientar la búsqueda para que sea más óptima.

2.4.1. Búsquedas sin contar con información


Las 6 estrategias de búsqueda agrupadas genéricamente bajo el nombre de
búsqueda sin contar con información. Es decir, no existe información acerca de
la cantidad de pasos necesarios o sobre el coso de ruta para pasar del estado de
un momento dado a la meta: lo único que permiten hacer es diferenciar entre
un estado meta del otro que no lo es. A la búsqueda sin contar con información
también se le conoce como búsqueda ciega y son las siguientes:
 Búsqueda preferente por amplitud.
 Búsqueda de costo uniforme.
 Búsqueda preferente por profundidad.
 Búsqueda limitada por profundidad.
 Búsqueda por profundización iterativa.
 Búsqueda direccional.

2.4.1.1. Búsqueda preferente por amplitud:


En esta búsqueda todos los nodos que están en la profundidad d del
árbol de búsqueda se expanden antes de los nodos que estén en la
profundidad d+1.
Si son varias las soluciones, este tipo de búsqueda permitirá siempre
encontrar primero el estado meta más próximo a la raíz.
En esta búsqueda el tiempo y la cantidad de memoria necesaria crece
exponencialmente con respecto a la profundidad.
 Su complejidad espacio temporal es O (bd).
 Es óptima y completa.

M.S. Diana Cecilia Muñoz Casanova 79


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
 Si d es la longitud de ruta mínima.
 Si b el factor de ramificación, el número de nodos expandidos estará
entre:
1+b+b2+...bd-1 y 1+b+b2+...bd

 Tiempo y Memoria necesarios en la Búsqueda Preferente por


Amplitud.
Las cifras indicadas suponen que hay un factor de ramificación
b=10; 1000 nodos/segundo; 100 bytes/nodo.

Tabla Nº 4: Tiempo y Memoria en B.P. por Amplitud

Profundidad Nodos Tiempo Memoria


0 1 1 milisegundo 100 bytes
2 111 1 segundos 11 kilobytes
4 11,111 11 segundos 1 megabytes
6 106 18 minutos 111 megabytes
8 108 31 horas 11 gigabytes
10 1010 128 días 1 Terabytes
12 1012 35 años 111 terabytes
14 1014 3500 años 11,111 terabytes

Ejemplo: Tomemos como el ir de Ada a Bucarest

M.S. Diana Cecilia Muñoz Casanova 80


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

Figura Nº 16: Solución por búsqueda preferente por amplitud

2.4.1.2. Búsquedas de costo uniforme:


En esta búsqueda se modifica la estrategia preferente por amplitud en el
sentido de expandir siempre el nodo de menor costo en el margen
(medido por el costo de la ruta g(n)) en vez del nodo de menor
profundidad.
Este tipo de búsqueda permitirá siempre encontrar la solución mas
barata siempre y cuando el costo de ruta nunca disminuya conforme
avanzamos por la ruta.
 En esta búsqueda el tiempo y la cantidad de memoria necesaria
crece exponencialmente con respecto a la profundidad.
 Es óptima y completa.
 Los costos deben ser positivos, caso contrario no se aplica esta
búsqueda.
Ejemplo: Tómese el caso del problema de la determinación de ruta que
radica en ir de S a G.

M.S. Diana Cecilia Muñoz Casanova 81


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

Figura Nº 17: Solución por búsqueda de costo uniforme


Respuesta: S-B-G

2.4.1.3. Búsqueda preferente por profundidad:


En esta búsqueda siempre se expande uno de los nodos que se
encuentren en los más profundos del árbol. Solo si la búsqueda
conduce a un callejón sin salida, ser revierte la búsqueda y se expanden
los nodos de niveles menos profundos.
Esta búsqueda o se queda atorada en un bucle infinito y nunca es
posible regresar al encuentro de una solución, o a la larga encontrará
una ruta de solución más larga que la solución óptima.
 En esta búsqueda el tiempo necesario crece exponencialmente con
respecto a la profundidad, mientras que el espacio requerido en
memoria lo hace en forma lineal
 No es óptima ni completa.
 Su complejidad temporal O (bm) y su complejidad espacial es O
(bm), en donde m es la profundidad máxima.

M.S. Diana Cecilia Muñoz Casanova 82


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

Figura Nº 18: Esquema de Búsqueda preferente por profundidad

Ejemplo: Tómese el caso del problema de la determinación de ruta.

Figura Nº 19: Solución por búsqueda preferente por profundidad


Ejemplo 2: Tómese el caso del problema del puzzle pero con otras
posiciones.

M.S. Diana Cecilia Muñoz Casanova 83


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

Figura Nº 20: Resolución del puzzle por búsqueda preferente por


profundidad

2.4.1.4. Búsqueda limitada por profundidad:


Esta búsqueda es similar a la búsqueda preferente por profundidad con
la diferencia que se impone un límite a la profundidad máxima de una
ruta.
Se utilizan operadores que informan constantemente de la profundad
del nodo.
 En esta búsqueda el tiempo necesario crece exponencialmente con
respecto a la profundidad, mientras que el espacio requerido en
memoria lo hace en forma lineal
 No es óptima, pero si completa cuando la profundidad del límite es
menor o igual a la profundidad de la solución.

2.4.1.5. Búsqueda por profundización iterativa:


Esta búsqueda es similar a la búsqueda limitada por profundidad con la
diferencia que se repiten las búsquedas dando en cada iteración un valor
distinto de profundidad para la misma.

M.S. Diana Cecilia Muñoz Casanova 84


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
 En esta búsqueda el tiempo necesario crece exponencialmente con
respecto a la profundidad, mientras que el espacio requerido en
memoria lo hace en forma lineal
 Es óptima y completa.
 Su complejidad temporal es O (bd) y su complejidad espacial es O
(bd).

Figura Nº 21: Esquema por búsqueda preferente por profundidad

Por ejemplo, en lugar de que sea 1 + b + b2+….+ bd, el primero se


expande d+1 veces, el segundo veces, el tercero d - 1, etc.
Por ejemplo, con un factor de 10 y con profundidad 5, los nodos
expandidos serían

Con cantidad de expansiones (d+1) son:

Entre más grande sea el factor de arborecencia, menor el trabajo extra.

M.S. Diana Cecilia Muñoz Casanova 85


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Sin embargo, inclusive para un árbol binario se toma como el doble de
tiempo que breadth-first pero con mucho menos memoria.
En general, si el espacio de búsqueda es grande y no se sabe la
profundidad del árbol es el método a usar.

2.4.1.6. Búsqueda bidireccional:


Esta es una búsqueda que avanza a partir del estado inicial y que
retrocede a partir de la meta y que se detiene cuando ambas búsquedas
se encuentran en algún punto intermedio.
 En esta búsqueda el tiempo y el espacio requerido en memoria
crecen exponencialmente con respecto a la mitad de la profundidad
(bd/2).
 Es óptima y completa.
Ejemplo: Tomemos el caso de los puzzle

Figura Nº 22: Resolución por búsqueda preferente por profundidad

M.S. Diana Cecilia Muñoz Casanova 86


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Tabla Nº 5: Comparación entre las diferentes estrategias de búsqueda sin
información

Pref. por Costo Pref. por Limitada en Profundización Bidireccional


Criterio
amplitud uniforme profundidad profundidad iterativa
Tiempo bd bd bm bl bd bd/2
Espacio bd bd bm bl bd bd/2
¿Es
Sí Sí No No Si Si
óptima?
¿Es Si, cuando
Sí Sí No Sí Sí
completa? l>=d

 b es el factor de ramificación;
 d es la profundidad de la solución;
 m es la profundidad máxima del árbol de búsqueda;
 l es el límite de profundidad

2.4.2. Estrategias de Búsqueda Informada


Se verá que el contar con información sobre un espacio de estados evita a los
algoritmos emprender búsquedas a ciegas., permitiendo así encontrar
soluciones con más eficiencia. Presentaremos los siguientes métodos:

2.4.2.1. Búsqueda primero el mejor


La búsqueda primero el mejor es un caso particular del algoritmo
general de Búsqueda Árboles o Búsqueda de Grafos en el cual se
selecciona un nodo para la expansión basada en una función de
evaluación f(n).
Esta función evaluación devuelve un número que sirve para representar
lo deseable (o indeseable) que seria la expansión de un nodo. Se
expande primero aquel nodo que tiene mejor evaluación. Se escoge el
que parece ser el mejor pero puede no serlo.
Hay una familia entera de algoritmos de Búsqueda Primer Mejor con
funciones de evaluación diferentes.
Una componente clave de estos algoritmos es una función heurística,
denotada h(n):

M.S. Diana Cecilia Muñoz Casanova 87


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
H(n) = coste estimado del camino mas barato desde el nodo n a un
nodo objetivo.
Las funciones heurísticas son la forma más común de transmitir el
conocimiento adicional del problema al algoritmo de búsqueda.
Si en verdad fuese posible expandir desde un principio el mejor nodo,
en realidad no se trataría de una búsqueda; sería encaminarse
directamente a la meta. Lo que sucede es que se escoge el nodo que
parece ser el mejor, según lo aconsejado por la función de evaluación.
Puesto que su objetivo es encontrar soluciones de bajo costo, por lo
general en estos algoritmos se utiliza alguna medida estimada del costo
de la solución, y se hacen esfuerzos por reducir esta medida al mínimo.
Para enfocar la búsqueda, en tal medida debe figurar algún tipo de
cálculo del costo de ruta que va de un estado al estado más cercano
a la meta.
Dentro de este tipo de búsqueda se encuentran:
 Búsqueda avara.
 Búsqueda A*.

2.4.2.1.1. Búsqueda avara


La búsqueda voraz primero el mejor trata de expandir el nodo mas
cercano al objetivo, alegando que probablemente conduzca
rápidamente a una solución. Así, evalúa los nodos utilizando
solamente la función heurística f(n)=h(n).
Este algoritmo consiste en reducir al mínimo el costo estimado para
lograr una meta.
El nodo que se considere más cercano al estado de meta es el que se
expande primero.
La búsqueda avara y la preferente por profundidad se asemejan por
su indicación a utilizar una sola ruta hasta llegar a la meta, pero se
atorarán cuando topen con un callejón sin salida.
Sus deficiencias son las mismas que las de la búsqueda preferente
por profundidad:

M.S. Diana Cecilia Muñoz Casanova 88


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
 No es óptima.
 Es incompleta, pues puede recorrer una ruta infinita y nunca
regresar a probar otras posibilidades.
 Tiempo: O (b) (se deben recorrer todos los nodos).
 Espacio: O (b) (se deben almacenar todos los nodos).

Tomemos el ejemplo del mapa de Rumania:


Un agente se encuentra en una ciudad rumana llamada Oradea, el
agente desea viajar hasta Bucarest para poder tomar un vuelo que
lo conduzca hasta su destino final. El problema principal es que no
conoce el país pero afortunadamente dispone de un mapa de
carretera con las distancias estimadas (en línea recta) desde cada
ciudad del país hasta Bucarest. Veamos la situación en el siguiente
espacio de estado, donde cada nodo representa una ciudad rumana y
cada arista representa una carretera entre ciudades vecinas.

Figura Nº 23: Resolución por búsqueda Avara


Distancia en línea recta
Vaslain 199, Zerind 374, Arad 366, Bucarest 0, Craiova 160, Dobreta
242, Eforie 161, Fagaras 178, Giorgia 77, Hirsova 151, Iasi 226, Lugoj
244, Mehadia 241, Neamt 234, Oradea 380, Pitesti 98, Rimnicu 193,
Sibiu 253, Timosora 329, Urzicini 80

M.S. Diana Cecilia Muñoz Casanova 89


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Solución
La solución produce una ruta que tiene un costo mínimo (obtiene
una solución sin expandir nodos que no están en la ruta). La
cantidad de kilómetros reales a recorrer por esta ruta (Oradea-Sibiu-
Fagaras-Bucarest) es de 461 Km., sin embargo otra ruta puede
producir un resultado mejor y no encontrarse debido a la heurística
utilizada. En el libro de texto se analiza esa situación considerando
la ciudad de Arad como punto de partida. Debido a esta situación la
búsqueda avara no es óptima.
El nombre de búsqueda avara viene dado por el hecho de que se
trata de aprovechar al máximo la heurística sin tomar en cuenta
otros factores, en realidad este método de búsqueda produce casi
siempre buenos resultados aunque puede resultar no óptimo como
el caso que nos ocupa.
La búsqueda avara tiene sus problemas con relación a:
 Equivocar la ruta, por ejemplo si el estado origen es Iasi y la
meta Fagaras, la estrategia conduce a Neamt, desde donde
no se puede ir a ninguna parte y por eso se habrá generado
un nodo innecesario. En este caso se puede repetir un ciclo
infinito (si no se controla la existencia de estados repetidos)

2.4.2.1.2. Búsqueda A*: minimizar el costo estima total de la solución


A la búsqueda mas ampliamente conocida de la búsqueda primero
el mejor se la llama búsqueda A*.
La búsqueda avara permite reducir al mínimo el costo de la meta,
h(n), con lo que también se reduce en forma considerable el costo
de la búsqueda. Sin embargo, este tipo de búsqueda no es óptimo ni
tampoco completo.
Por otra parte, la búsqueda por costo uniforme, reduce al mínimo el
costo de la ruta (g(n)). Es óptima y completa, pero puede ser muy
ineficiente.

M.S. Diana Cecilia Muñoz Casanova 90


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Sería bueno poder utilizar ambas estrategias para así combinar las
ventajas que ofrecen. Afortunadamente si es posible hacerlo, al
combinar las dos funciones de evaluación mediante una suma:
f(n) = g(n) + h(n)
Dado que con g(n) se calcula el costo de la ruta que va del nodo de
partida al nodo n, y h(n) es el costo estimado de la ruta más barata
que va de n a la meta, tenemos que:
f(n) = costo estimado de la solución más barata, pasando por n.
La optimalidad de A* es sencilla de analizar si se usa con la
Búsqueda-Árboles.
A* es óptima si h(n) es una heurística admisible, es decir, con tal de
que la h(n) nunca sobrestime el coste de alcanzar el objetivo. Como
g(n) es el coste exacto para alcanzar n, tenemos como consecuencia
inmediata que la f(n) nunca sobrestima el coste verdadero de una
solución a través de n.
Ejemplo.
El objetivo será de nuevo ir hasta Bucarest, pero en esta ocasión
partiremos desde la ciudad de Arad.
Veamos los árboles de búsqueda se generan.

M.S. Diana Cecilia Muñoz Casanova 91


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

Se debe observar que la función f es monótona o sea esta función


nunca disminuye cuando profundizamos en el árbol de búsqueda,
algo que debemos esperar si decimos que la heurística es aceptable.

2.4.2.2. Búsqueda limitada por la capacidad de la memoria


Cuando se implementan las búsquedas vistas hasta el momento, hay
ciertos problemas muy difíciles de resolver y por lo tanto siempre hay
que dar algo a cambio para resolverlos, y lo primero que se cede es la
memoria disponible.
Para poder conservar la memoria existen:
 La búsqueda A* por profundización iterativa
 La búsqueda A* acotada por memoria simplificada.

M.S. Diana Cecilia Muñoz Casanova 92


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

2.4.2.2.1. Búsqueda A* por profundización iterativa (A*PI):

En este algoritmo, cada iteración es una búsqueda preferente por


profundidad, la cual se modifica para utilizar un límite de costo f en
vez de un límite de profundidad.
 En esta búsqueda el espacio requerido en memoria crece en
forma lineal con respecto a la profundidad, mientras que la
complejidad temporal depende de la cantidad de distintos valores
que adopte la función heurística.
 Es óptima y completa.

2.4.2.2.2. Búsqueda A* acotada por memoria simplificada (A*SRM):

Tiene las siguientes características:

 Hace uso de toda la memoria que puede disponer


 En la medida que se lo facilite la memoria, evitará los
estados repetidos
 Es completa si la memoria disponible tiene capacidad
suficiente para guardar la ruta de solución más cercana
 Es óptima si dispone de suficiente memoria para guardar la
ruta de solución óptima más cercana. De lo contrario produce la
mejor solución que sea posible obtener con la memoria
disponible.

2.4.2.3. Búsqueda de mejoramiento iterativo


La idea básica de los algoritmos de estos tipos de búsqueda consiste en
empezar con una configuración completa y efectuar modificaciones
para mejorar su calidad.
Entre estas búsquedas se pueden encontrar:
 Búsqueda por ascenso de cima.
 Búsqueda con endurecimiento simulado.

M.S. Diana Cecilia Muñoz Casanova 93


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

2.4.2.3.1. Búsqueda por ascenso de cima:

Esta búsqueda se trata de un bucle que constantemente se desplaza


en la dirección de un valor ascendente. Como el algoritmo no
mantiene un árbol de búsqueda, la estructura de datos del nodo sólo
tiene que registrar el estado y su evaluación, denominado VALOR.

Cuando el algoritmo llega a un punto mas allá del cual no se logra


ningún avance, es obvio que debe empezarse de nuevo en otro
punto.

2.4.2.3.2. Búsqueda por endurecimiento simulado:

Esta búsqueda es muy similar a la búsqueda por ascenso a la cima,


pero con la diferencia de que en vez de empezar otra vez al azar
luego de quedarse atorado en un máximo local, sería conveniente
descender unos cuantos pasos y así escapar del máximo local en
cuestión.

M.S. Diana Cecilia Muñoz Casanova 94


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

CAPÍTULO III: JUEGOS

3.1 CONCEPTO

 En IA, los “juegos” son una clase más especializada, que los teóricos llaman
juegos:
 De suma cero
 De dos jugadores (jugador MAX, jugador MIN)
 Por turnos
 Deterministas
 De información perfecta (ajedrez, damas, tres en raya...) vs. Información
imperfecta (poker, stratego, bridge...)
 Los juegos son interesantes porque son demasiado difíciles de resolver. El
ajedrez, por ejemplo, tiene un factor de ramificación promedio de 35 y los juegos
van a menudo a 50 movimientos por cada jugador:
 Grafo de búsqueda: aproximadamente 1040 nodos distintos.
 Árbol de búsqueda: 35100 o 10154.
 Los juegos, como el mundo real, requieren la capacidad de tomar alguna decisión
(la jugada) cuando es infactible calcular la decisión óptima.
 Una definición formal de juego sería la de un tipo de problema de búsqueda
integrado por lo siguiente:
 El estado inicial
 Un conjunto de operadores
 Una prueba terminal
 Una función de utilidad

3.2 BÚSQUEDA MÍNIMAS

M.S. Diana Cecilia Muñoz Casanova 95


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Usa el algoritmo minimax que calcula la decisión mínimas del estado actual. Usa un
cálculo simple recurrente de los valores mínimas de cada estado sucesor, directamente
implementando las ecuaciones de la definición. La recursión avanza hacia las hojas del
árbol, y entonces los valores mínimas retroceden por el árbol cuando la recursión se va
deshaciendo.
El algoritmo minimax se compone de 5 pasos:
 Generación de todo el árbol de juego
 Aplicación de la función de utilidad a cada estado terminal
 Uso de la utilidad de los estados terminales para calcular la utilidad de los nodo
del siguiente nivel superior en el árbol de búsqueda
 Continuación del respaldo a los valores de los nodos hojas
 Los valores respaldados llegan a la parte superior del árbol; en ese sitio, MAX
elige la jugada que le permitirá obtener el valor más alto.

Figura Nº 24: Esquema del juego MAX y MIN

Descripción del juego


 Aproximación trivial: Generar todo el árbol de jugadas.
 Se etiquetan las jugadas terminales, dependiendo de si gana MAX o MIN, con
un valor de utilidad de, por ejemplo, “+1” o “-1”.

M.S. Diana Cecilia Muñoz Casanova 96


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
 El objetivo es encontrar un conjunto de movimientos accesible que dé como
ganadora MAX.
 Se propagan los valores de las jugadas terminales de las hojas hasta la raíz.

M.S. Diana Cecilia Muñoz Casanova 97


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
Ejemplo del Tic Tac Toe
MAX juega con X
MIN juega con O

M.S. Diana Cecilia Muñoz Casanova 98


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

3.3 FUNCIÓN EVALUACIÓN

Debido a que en muchas ocasiones no se dispone de todo el tiempo necesario para


efectuar una búsqueda hasta que se llegue a los estado terminales y de esta forma
aplicarles la función de utilidad, lo que se hace es suspender la búsqueda y aplicar la
función de evaluación a los nodos hojas, la cual produce una estimación de la utilidad
esperada de un juego correspondiente a una posición determinada.

La función evaluación debe cumplir lo siguiente:


1. Debe coincidir con la función de utilidad de los estados
terminales.
2. Su cálculo no debe tomar mucho tiempo.
3. Debe reflejar las posibilidades reales de poder ganar.

M.S. Diana Cecilia Muñoz Casanova 99


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

3.4 SUSPENSIÓN DE UNA BÚSQUEDA

Una de las formas de controlar la cantidad de búsqueda consiste en definir un límite de


profundidad fija de manera que cuando se alcance un nodo de profundidad d se suspenda
la búsqueda.
Otra forma es aplicar la profundización iterativa y cuando se agote el tiempo el
programa proponga la jugada determinada durante la más profunda de las búsquedas
hasta entonces llevada a cabo.

3.5 PODA ALFA-BETA

Al proceso para evitar la exploración de una de las ramas del árbol de búsqueda se lo
conoce como poda del árbol de búsqueda.
La poda Alfa-Beta se aplica en búsquedas minimax.

El principio general es el siguiente: considérese un nodo n del árbol, tal que exista la
posibilidad de que el jugador pueda ir a ese nodo. Si tuviera una mejor opción m, en un
juego real nunca se alcanzará n. Una vez que se cuenta con suficiente información sobre
n que permita llegar a esta conclusión, se procede a podar.

Ejemplo:

Con el árbol de la figura, va a realizarse una búsqueda minimax con la poda alfa-beta.
En este árbol los nodos círculo son nodos del nivel MAX, y, por tanto, se les denomina
nodos MAX, y los nodos cuadrados pertenecen a niveles MIN, y por tanto, se les
denomina nodos MIN. Dentro de cada nodo aparecen su identificador y debajo de los
nodos hoja aparece el valor que devolvería la función de evaluación si se evaluara dicho
nodo.

M.S. Diana Cecilia Muñoz Casanova 100


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

Figura Nº 25: Esquema de árbol PODA alfa - beta

El algoritmo se inicia con el nodo inicial y los valores para a y b siguientes, teniendo en
cuenta que no se puede representar el µ en las computadoras:
a = menor número posible (m)
b = mayor número posible (M)
Los valores de m y M dependen del lenguaje de programación, y de la computadora
utilizada, normalmente. Como se puede observar en la siguiente figura, se produce una
poda en el nodo 6 ya que el a en ese nodo (6) es mayor que el valor de b (5) en el nodo
padre. Después puede observarse cómo se produce una poda para el nodo 3 debido a que
el valor de b (5) es igual al de a (5) del nivel superior, con lo que, por mucho que se
estudien los hijos del nodo 3 no se va a cambiar el valor del nodo 1. Por último vuelve a
producirse una poda debido a que, en el nodo 11 el valor de a (10) es mayor que el valor
de b (8) en el nodo padre.
La técnica Alfa-Beta es completamente general, pudiendo utilizarse tanto para árboles de
cualquier profundidad finita, como para árboles de profundidad irregular. Las
interrupciones que se producen en los nodos conjuntivos se llaman "alfa-interrupciones",
diciéndose también que existe un "alfa-atajo" en tanto que las interrupciones que se
producen en los nodos disyuntivos se llaman "betas-interrupciones", o también se dice
que existe un "beta-atajo".

3.5.1. Propiedades de la PODA alfa-beta


 La poda no afecta al resultado final.
 La ordenación de un buen movimiento mejora la eficacia de la poda.
 Con una “ordenación perfecta, la “complejidad temporal = O(bm/2)

M.S. Diana Cecilia Muñoz Casanova 101


Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II
 dobla la profundidad de la búsqueda.

3.5.2. ¿Por qué se llama alfa-beta?


 α es el valor de la mejor opción (es decir, la de mayor valor) encontrada

hasta el momento en cualquier punto de decisión a lo largo del camino para

max.

 Si v es peor que α, max lo evitará.

 podar esa rama.


 Definir β de forma parecida para min.

Figura Nº 26: Alfa – Beta

3.6 APLICACIONES DE BÚSQUEDA EN TIEMPO REAL

 Age of Empires  Warcraft III

M.S. Diana Cecilia Muñoz Casanova


Figura Nº 27 Figura Nº 28 102
Universidad Nacional del Santa
Facultad de Ingeniería Manual de Inteligencia
Artificial
E. A. P Ingeniería de Sistemas e Informática
Unidad II

M.S. Diana Cecilia Muñoz Casanova 103

You might also like