Tipos básicos de Búsqueda | Inteligencia Artificial

Post on 04-Jul-2015

598 views 2 download

description

Tipos básicos de Búsqueda | Inteligencia Artificial

Transcript of Tipos básicos de Búsqueda | Inteligencia Artificial

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