Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procedimientos de Busquedas Heuristicas INTELIGENCIA ARTIFICIAL PDF
Procedimientos de Busquedas Heuristicas INTELIGENCIA ARTIFICIAL PDF
“Procedimientos de
búsquedas”
UNIDAD 2
Puede haber una o muchas soluciones para un problema dado, dependiendo del
escenario, ya que puede haber muchas maneras de resolver ese problema. Piensa en
cómo abordas un problema. Para una mejor comprensión, se puede considerar que
en el caso de hacer “algo directo” como una multiplicación matemática, claramente
hay una solución correcta, pero puede haber muchos algoritmos para multiplicar,
dependiendo del tamaño de la entrada. Por otra parte, se puede considerar un
problema más complicado, como jugar un juego (Por ejemplo: Ajedrez, Sudoku,
Laberinto, etc… ); En la mayoría de éstos juegos, en un momento dado, tiene varios
movimientos que puede hacer y elige el que le ofrece el mejor resultado posible. En
este escenario, no hay una solución correcta, pero hay una mejor solución posible,
dependiendo de lo que quiera lograr. Además, hay varias formas de abordar el
problema, según la estrategia que elija para su juego.
Estados: todos los estados que son accesibles desde el estado inicial mediante
cualquier secuencia de acciones o todos los estados posibles que el agente puede
tomar. Esto también se conoce como espacio estatal.
Costo de ruta: una función que asigna un costo numérico a una medida de
rendimiento de escritura de ruta
Explorado
Frontera
Inexplorado
d: profundidad de la solución
I. Búsqueda no informada
1. Búsqueda en Anchura
2. Búsqueda de Costo Uniforme
EJEMPLO:
¿Qué solución encontraría la “Búsqueda en Anchura” para moverse de un nodo S a
otro G si se ejecutara en el gráfico a continuación?
SOLUCIÓN:
El árbol de búsqueda equivalente para el gráfico anterior es el siguiente. Cuando la
“Búsqueda en Anchura” atraviesa el árbol "el nodo más superficial primero",
siempre escogería la rama menos profunda hasta que llega a la solución (o se queda
sin nodos y va a la siguiente rama). El recorrido se muestra en flechas azules.
Ésta búsqueda (Costo Uniforme) es diferente a las anteriores porque aquí los
costos entran en juego. En otras palabras, atravesar diferentes bordes puede no tener
el mismo costo. El objetivo es encontrar un camino donde la suma acumulativa de los
costos sea menor.
EJEMPLO:
¿Qué solución encontraría la “Búsqueda de Costo Uniforme” para moverse de un
nodo S a otro G si se ejecutara en el gráfico a continuación?
SOLUCIÓN:
El árbol de búsqueda equivalente para el gráfico anterior es el siguiente. El costo de
cada nodo es el costo acumulado de llegar a ese nodo desde la raíz. Según la estrategia
de la “Búsqueda de Costo Uniforme” , se elige la ruta con el menor costo
acumulativo. Teniendo en cuenta que, debido a las muchas opciones en la franja, el
algoritmo explora la mayoría de ellas siempre y cuando su costo sea bajo, y las descarta
cuando se encuentra una ruta de menor costo; estos recorridos descartados no se
muestran a continuación. El recorrido real se muestra en azul.
Ventajas:
La “Búsqueda de Costo Uniforme” está completa.
La “Búsqueda de Costo Uniforme” es óptima.
Desventajas:
Explora opciones en cada "dirección".
No hay información sobre la ubicación de la meta.
II. Búsqueda informada
1. Búsqueda codiciosa
2. A * Árbol de búsqueda
3. A * Búsqueda gráfica
1. BÚSQUEDA CODICIOSA: expande el nodo que parece
ser el más cercano al objetivo. La "cercanía" se estima
por una heurística h(x).
EJEMPLO:
Encuentra el camino de S a G utilizando la búsqueda codiciosa. Los valores
heurísticos h de cada nodo debajo del nombre del nodo.
SOLUCIÓN:
A partir de S, podemos atravesar hasta A(h=9) o D(h=5) . Elegimos D, ya que tiene el menor
costo heurístico. Ahora desde D, podemos pasar a B(h=4) ó E(h=3) . Elegimos E con menor
costo heurístico. Finalmente, desde E, vamos a G(h=0) . Todo este recorrido se muestra
en el árbol de búsqueda a continuación, en azul.
Una búsqueda * es óptima solo cuando, para todos los nodos, el costo directo
para un nodo h(x) subestima el costo real h*(x) para alcanzar la meta. Esta
propiedad de la heurística A * se llama admisibilidad.
Tenga en cuenta que, en el cuarto conjunto de iteraciones, obtenemos dos rutas con
el mismo costo sumado f(x), por lo que las expandimos en el siguiente conjunto. El
camino con menor costo en una mayor expansión es el camino elegido.
EJEMPLO:
Implemente la “búsqueda gráfica A* ” para encontrar la ruta de S a G en el
siguiente gráfico.
SOLUCIÓN:
Resolvemos esto de manera semejante que el ejemplo anterior; pero en este
caso, mantenemos un seguimiento de los nodos explorados para que no los
volvamos a explorar.
La generación y prueba exhaustiva es muy útil para problemas simples. Pero para
problemas complejos, incluso la generación y prueba heurística no es una técnica
muy efectiva. Pero esto puede hacerse efectivo mediante la combinación con otras
técnicas de tal manera que el espacio en el que se busca sea restringido. Un
programa de inteligencia artificial DENDRAL, por ejemplo, utiliza la técnica de
generación y prueba del plan. Primero, el proceso de planificación utiliza técnicas de
satisfacción de restricciones y crea listas de subestructuras recomendadas y
contraindicadas. Luego, el procedimiento de generación y prueba utiliza las listas
generadas y necesarias para explorar solo un conjunto limitado de
estructuras. Restringido de esta manera, generar y probar resultó altamente
efectivo. Una debilidad importante de la planificación es que a menudo produce
soluciones inexactas ya que no hay retroalimentación del mundo.
ESCALADA
La escalada es una búsqueda heurística utilizada para problemas de optimización
matemática en el campo de la Inteligencia Artificial.
Dado un gran conjunto de entradas y una buena función heurística, intenta encontrar
una solución suficientemente buena para el problema. Esta solución puede no ser el
máximo óptimo global.
Paso 3: Salir.
II. Escalada a la colina (Steepest-Ascent Hill climbing): primero examina
todos los nodos vecinos y luego selecciona el nodo más cercano al estado
de la solución como siguiente nodo.
Paso 2: repita estos pasos hasta que se encuentre una solución o el estado
actual no cambie:
I. Sea "objetivo" un estado tal que cualquier sucesor del estado actual sea
mejor que él;
Paso 3: Salir.
III. Escalada estocástica: no examina todos los nodos vecinos antes de
decidir qué nodo seleccionar. Simplemente selecciona un nodo vecino al
azar y decide (basándose en la cantidad de mejora en ese vecino) si
moverse hacia ese vecino o examinar otro.
La mejor solución será ese espacio de estado donde la función objetivo tenga el valor
máximo (máximo global).
DIFERENTES REGIONES EN EL DIAGRAMA ESPACIAL ESTATAL
1. Máximo local: es un estado que es mejor que su estado vecino, sin embargo,
existe un estado que es mejor que este (máximo global). Este estado es mejor
porque aquí el valor de la función objetivo es más alto que sus vecinos.
3. Plano máximo local: es una región plana del espacio estatal donde los estados
vecinos tienen el mismo valor.
4. Cresta: es la región que es más alta que sus vecinos, pero en sí misma tiene
una pendiente. Es un tipo especial de máximo local.
1. Máximo local: en un máximo local, todos los estados vecinos tienen valores
que son peores que el estado actual. Ya que la escalada de colinas usa un
enfoque codicioso, no se moverá al peor estado y terminará por sí misma. El
proceso terminará, aunque exista una mejor solución.
2. Meseta: En la meseta todos los vecinos tienen el mismo valor. Por lo tanto, no
es posible seleccionar la mejor dirección.
Para superar las mesetas: Haz un gran salto. Selecc iona aleatoriamente un
estado alejado del estado actual. Es probable que aterricemos en una región
que no sea de meseta
3. Cresta: cualquier punto en una cresta puede verse como un pico porque el
movimiento en todas las direcciones posibles es hacia abajo. Por lo tanto, el
algoritmo se detiene cuando alcanza este estado.
Para superar Ridge: en este tipo de obstáculo, use dos o más reglas antes de
probar. Implica moverse en varias direcciones a la vez.
BÚSQUEDA PRIMERO EL MEJOR
(PRIMERA BÚSQUEDA DE PROFUNDIDAD):
es un algoritmo para atravesar o buscar estructuras de datos de árboles o gráficos. El
algoritmo comienza en el nodo raíz (seleccionando algún nodo arbitrario como el
nodo raíz en el caso de un gráfico) y explora en la medida de lo posible a lo largo de
cada rama antes de retroceder.
EJEMPLO:
¿Qué solución encontraría la técnica “Primera Búsqueda de Profundidad” para
moverse de un nodo S a otro G si se ejecuta en el gráfico a continuación?
SOLUCIÓN:
El árbol de búsqueda equivalente para el gráfico anterior es el siguiente. A medida
que la “Primera Búsqueda de Profundidad” atraviesa el árbol "el nodo más profundo
primero", siempre elegirá la rama más profunda hasta que alcance la solución (o se
quede sin nodos y pase a la siguiente rama). El recorrido se muestra en flechas
azules.
T(n) = 1+ n2 + n3 + … + nd = O(nd)
Complejidad del espacio: Equivalente a qué tan grande puede llegar la franja.
S(n) = O(n x d)
Integridad: La “Primera Búsqueda de Profundidad” está completa si el árbol de
búsqueda es finito, lo que significa que para un árbol de búsqueda finito dado, ésta
búsqueda encontrará una solución, si existe.
A veces los problemas solo parecen difíciles de resolver. Un problema difícil puede ser
uno que puede reducirse a una serie de problemas simples; y cuando se resuelve
cada uno de los problemas simples, se soluciona el problema difícil. Esta es la
intuición básica detrás del método de Reducc ión de problemas.
EJEMPLO:
Esto se ilustra mejor con el ejemplo del problema de las Torres de Hanoi.
El nodo raíz, etiquetado como "3AC" representa el problema original de transferir los
3 discos de la clavija A a la peg C.
El objetivo se puede descomponer en tres sub-objetivos: 2AB, 1AC, 2BC. Para lograr
el objetivo, se deben alcanzar los 3 sub-objetivos.
VERIFICACIÓN DE RESTRICCIONES
2. Procesar las restricciones. Una vez formulado el problema como un PSR, hay
dos maneras de procesar las restricciones:
2. Cumplir con las condiciones previas para seleccionar un operador recomendado, luego reducir la diferencia D12.
http://www.aistudy.co.kr/heuristic/heuristic_classification.htm
http://intelligence.worldofcomputing.net/ai-search/heuristic-search.html
https://hackernoon.com/search-algorithms-in-artificial-intelligence-8d32c12f6bea
https://data-flair.training/blogs/heuristic-search-ai/
https://data-flair.training/blogs/heuristic-search-ai/
Generación y Prueba:
http://intelligence.worldofcomputing.net/ai-search/generate-and-test-search.html#.XLuhl4lKjct
Escalada:
https://www.geeksforgeeks.org/introduction-hill-climbing-artificial-intelligence/
Reducción de problemas:
http://www.uobabylon.edu.iq/eprints/publication_12_357_213.pdf