tipos básicos de búsqueda | inteligencia artificial
DESCRIPTION
Tipos básicos de Búsqueda | Inteligencia ArtificialTRANSCRIPT
Tipos de Búsqueda
Inteligencia Artificial
Alexis Díaz
6to Sistemas
22/07/2013
Tipos Básicos de Búsqueda
Búsqueda
Una ruta
Ruta optima
Juegos
Profundidad primero
Amplitud primero
Ascenso de colina
Búsqueda en haz
Primero el mejor
Museo británico
Ramificación y cota
Programación dinámica
A*
Minimax
Poda Alfa-beta
Continuación heurística
Profundidad progresiva
A tientas
Heuristicos
Redes y Búsqueda
s
a
d e
b c
f
g
3
3
44
44
55
2
Encontrar una trayectoria del punto S al punto G involucra dos
costos:
El costo del cálculo para encontrar la trayectoria
El costo del viaje cuando se sigue la trayectoria
Árbol de búsqueda
Es una representación que considera
todas las trayectorias posibles en la red:
◦ Los nodos representan trayectorias, y las
ramas conectan trayectorias a extensiones
de trayectoria de un solo paso.
Idea es construir al vuelo este árbol,
siguiendo una estrategia de búsqueda.
El número total de trayectorias de un
árbol con factor de ramificación b y
profundidad d es bd.
Gráfico 1s
a d
a eb d
c e b fbe
d f b f d e a c g
g c g f
gTrayectoria s-d-a-b-e-f-g
Búsqueda en profundidad
primero
Para llevar a cabo una búsqueda en
profundidad,
1. Inserte en una pila el elemento raíz (nodo de
partida)
2. Hasta que el elemento tope sea el nodo
meta, o se vacié la pila
1. Si nodo tope tiene hijos, insertar el hijo siguiente aun
no visitado, según ordenamiento.
2. Si no, entonces eliminar nodo tope.
3. Si el nodo meta se alcanza, mencione éxito, de
lo contrario, notifique el fracaso.
Búsqueda en profundidad
primero (cont)
La búsqueda por profundidad se usa
cuando queremos probar si una
solución entre varias posibles cumple
con ciertos requisitos
Gráfico 2
s
a d
a eb d
c e b fbe
d f b f d e a c g
g c g f
g
1
2
3 4
56
7
Búsqueda en amplitud
primero Para llevar a cabo una búsqueda en
profundidad,
1. Inserte en una pila el elemento raíz (nodo de
partida)
2. Hasta que el elemento tope sea el nodo
meta, o se vacié la pila
1. Si nodo tope tiene hijos, insertar el hijo siguiente aun
no visitado, según ordenamiento.
2. Si no, entonces eliminar nodo tope.
3. Si el nodo meta se alcanza, mencione éxito, de
lo contrario, notifique el fracaso.
Búsqueda en amplitud primero
(cont)
Sirve para cualquier estado, sin
embargo para algunos es muy
tardado
Es una estrategia sencilla en la que se
expande el nodo raíz, a continuación
se expande todos los sucesores del
nodo raíz, después sus sucesores etc.
Gráfico 3
s
a d
a eb d
c e b fbe
d f b f d e a c g
g c g f
g
1 2
3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18 19 20 21
Ramificación y cota
Menos sacrificado para encontrar la ruta
óptima.
Idea básica es expandir en cada ocasión la
ruta parcial con el menor costo hasta el
momento.
◦ Es decir, todos los nodos abiertos hasta el
momento entran en consideración.
Similar a método “primero el mejor”, pero al
revés.
◦ En lugar de seguir el trayecto que
aparentemente tiene la menor distancia hacia el
objetivo, se sigue aquel que hasta el momento
Algoritmo básico
Formar una cola de trayectos parciales. Inicialmente sólo tiene el elemento raíz.
Hasta que la cola se vacié o se alcance el nodo objetivo, determinar si el primer elemento alcanza el nodo objetivo.
◦ Si alcanza el objetivo, salir.
◦ Si no, entonces; Borrar el nodo de la cola
Agregar sus hijos a la cola
Ordenar los nodos por costo acumulado
Si el nodo objetivo fue encontrado mencionar éxito, de lo contrario anunciar falla.
Gráfico 4
a d
a eb d
c e b fbe
d f b f d e a c g
g c g f
g
s
3 4
7 8 9 6
11 1011 12 10 13
13
1 2
4 5 6 3
87
9
15 14
Procedimiento A*
Es una búsqueda de ramificación y cota
con:
◦ Estimación de distancia restante
◦ Eliminación de trayectorias redundantes
Si la estimación de la distancia restante
es un limite inferior de la distancia
real, entonces A* produce soluciones
optimas.
Búsqueda Heurística Sirve para asignar a cada estado una
estimación del coste optimo a la solución.
Se usa para resolver muchos problemasdifíciles (explosión combinatoria), es necesariomuchas veces llegar a un compromiso de losrequerimientos de movilidad y sistematicidad yconstruir una estructura de control que nonecesariamente garantiza el encontrar la mejorrespuesta, sino que casi siempre encuentra unabuena respuesta.
Una técnica heurística mejora la eficiencia delproceso de búsquedasacrificando, usualmente, exhaustividad.
Gráfico 5
Algoritmo básico
Formar una cola de trayectos parciales. Inicialmente sólo tiene el elemento raíz.
Hasta que la cola se vacié o se alcance el nodo objetivo, determinar si el primer elemento alcanza el nodo objetivo.
◦ Si alcanza el objetivo, salir.
◦ Si no, entonces; Borrar el nodo de la cola
Agregar sus hijos a la cola
Ordenar los nodos por costo acumulado
Si el nodo objetivo fue encontrado mencionar éxito, de lo contrario anunciar falla.
Gráfico 6
a d
a eb d
c e b fbe
d f b f d e a c g
g c g f
g
s
3 4
7 8 9 6
11 1011 12 10 13
13
1 2
4 5 6 3
87
9
15 14
Asegurar la ruta optima
¿cuál es la respuesta del método?
¿cómo podemos asegurar encontrar la ruta
óptima?
¿cuándo debemos terminar el algoritmo?
◦ Cuando todas las rutas parciales tengan
igual o mayor peso que la trayectoria
encontrada
s
b
a g23
5
1s
b
a g23
3
1