Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf ·...

Preview:

Citation preview

Métodos deInteligencia Artificial

L. Enrique Sucar (INAOE)esucar@inaoep.mx

ccc.inaoep.mx/esucarTecnologías de Información

UPAEP

Búsqueda

• Representación• Tipos búsquedas:

– Sin información– Con información– Óptimas

• Análisis de complejidad

• Identificación y definición del problema • Identificación del criterio de evaluación • Generación de alternativas

Solución de Problemas Asociado a la inteligencia

Solución de muchos problemas en IA:básicamente búsqueda y evaluación

• define un espacio de estados (explícito / implícito)• especifica los estados iniciales• especifica los estados finales (metas)• especifica las reglas que definen las acciones disponibles para moverse de un estado a otro

Representación del espacio de estados

En este contexto:

Representación de espacio de estados

El proceso de solución de problemas =encontrar una secuencia de operacionesque transformen al estado inicial en unofinal

Se requiere una estrategia de búsqueda

Reinas (Q)

Tablerode

Ajedrez

A=8 B=9 C=10

Q

A B C

QQ

Ejemplo: problema de las 8 reinas

Para el problema de las 8 reinas podemostener diferentes opciones:

• solución incremental: acercarse ala meta haciendo decisiones locales

• sistemática: no repetir y no excluir

• transformar (hasta encontrar la meta) vs.• construir (poco a poco)

Medios (espacio de estados):

Posible heurística: poner una reina porrenglón en un lugar que deje el mayornúmero de lugares sin atacar

• calidad de la solución (a veces puede noimportar)

• diferencia en complejidad entre unasolución solución óptima

• en general, se busca encontrar la soluciónmás barata

Cómo encontramos una buena heurística?

Factores a considerar:

1. Estructura simbólica que representesubconjuntos de solucionespotenciales (agenda)

2. Operaciones/reglas que modifiquensímbolos de la agenda y produzcanconjuntos de soluciones potencialesmás refinadas

3. Estrategia de búsqueda que decida quéoperación aplicar a la agenda

Qué necesitamos:

Terminología:

nodo, árbol, hoja, nodo-raíz, nodo-terminal,branching factor (factor de arborescencia),ramas, padres, hijos, árbol uniforme, ...

Nodo raíz

Padre

Hijos

Ramas

Nodos terminales/hojas

Profundidad

• nodos expandidos (closed): todos los sucesores• nodos explorados pero no expandidos : sólo algunos sucesores• nodos generados pero no explorados (open)• nodos no generados

Paso computacional primordial: expansión de nodos

Nodo expandido (closed)

Nodos generadosNo explorados (open)

Nodo no generadoNodo exploradoNo expandido

La estrategia de control es sistemática si:

1. no deja un sólo camino sin explorar (completo)

2. no explora un mismo camino más de una vez (eficiencia)

Propiedades

1. Completo: si encuentra una solución cuando ésta existe

2. Admisible: si garantiza regresar una solución óptima cuando ésta existe

Propiedades de algoritmos debúsqueda (heurísticas):

3. Dominante: un algoritmo A1 se dice quedomina a A2 si todo nodo expandido porA1 es también expandido por A2(“más eficiente que”)

4. Óptimo: un algoritmo es óptimo sobreuna clase de algoritmos si domina a todoslos miembros de la clase

Propiedades de algoritmos debúsqueda (heurísticas):

• Sin información: depth-first (en profundo) breadth-first (a lo ancho) • Con información: hill climbing beam search best first

Procedimientos de Búsqueda

Algún camino:

El mejor camino (óptimo):

British museum branch and bound A*

A B C

I

D E F

M

3

34

4 4

42

5 5

GRAFO

I

A D

B D A E

EC E B B F

D F B F C E A C M

M MC FM

11

14

19 19 17

17

25

15 15 13

ÁRBOL DE BÚSQUEDA

Depth first - backtracking (LIFO)

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al frente de la agenda

DEPTH-FIRST SEARCH

(I)

(A D)

(B D D)

(C E D D)

(E D D)

(D F D D)

(F D D)

(M D D)

IA D

B D A E

EC E B B F

D F B F C A C M

M MC F

M

11

14

19 19 17

17

25

15 15 13E

• depth-bound (casi todos): limitar labúsqueda hasta cierto límite deprofundidad

• interative-deepening: explorar aprofundidad progresivamente

• con algo de información: ordena losnodos expandidos

árboles con caminos de profundidad muygrande

Problemas:

Variaciones:

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al final de la agenda

Problemas: árboles con arborescencia muy grande

Breadth first

I

A D

B D A E

EC E B B F

D F B F C E A C M

M MC FM

11

14

19 19 17

17

25

15 15 13

ÁRBOL DE BÚSQUEDA

BR

EAD

TH-F

IRST

SEA

RC

H(I)(A D)

(D B D)

(B D A E)

(D A E C E)

(A E C E E)

(E C E E B)

(C E E B B F)

1

2

3

0

(E E B B F)

(E B B F D F)

(B B F D F B F)

(B F D F B F C E)

( F D F B F C E A C)

(D F B F C E A C M)4

(F B F C E A C M)

(B F C E A C M M)

(F C E A C M M C)

(C E A C M M C M)

(E A C M M C M)

(A C M M C M F)

(C M M C M F)

(M M C M F)5

Requerimientos de tiempo y memoria para breadth-first.Factor de arborecencia = 10; 1,000 nodos/sec; 100 bytes/nodo

Profund. Nodos Tiempo

Memoria

10

2

4

68

0

1214

1 1 miliseg. 100 bytes111 .1 seg.

11,111 terabytes

11 kilobytes1 megabyte

111 megabytes

11 gigabytes

1 terabyte111 terabytes

11,111

10 6

10 8

10 10

10 12

10 14

11 seg.

18 min.

31 hr.128 días35 años3500 años

Comparación en nodos buscados:Si n = profundidad del árbol b = braching factor d = profundidad de un nodo meta

Complejidad

depth-first:• mejor caso: d nodos buscados• peor caso:

-Σn

i= 0

b i-Σi= 0

b in d

= bn+1- bn+1- d

b-1≈ bn

• mejor caso:

-Σi= 0

bid 1=

b 1-- 1bd

≈ bd 1-

breadth-first:

• peor caso:

Σi= 0

bid=

b 1-- 1b d+1≈ bd

Comparación de estrategias. b = factor de arborecencia; d = profundidad solución; m = máxima profundidad árbol; l = límite de profundidad.

Criterio Breadth Costo Depth Depth Iterative Bidireccionalfirst uniforme first limited deepening

Tiempo

Espacio

Completo

Optimo

bd

bd

bd

bd

si

si si

si

bm

bl

bd

bd/2

b X m b X l b X d bd/2

no

si

no si si

sisisi(si l ≥d)

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda selecciona el mejor y elimina el resto

Algoritmos con Información

Hill-Climbing

Hill climbing Heurística: ve a la ciudad más cercana

(I)

(A D)

(D B)

(E C)

IA D

B D A E

EC E B B F

D F B F C A C M

M MC F

M

11

14

19 19 17

17

25

15 15 13E

BÚSQUEDA HILL-CLIMBING

Best-first

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda

EJEMPLO BÚSQUEDA BEST-FIRST

BEST FIRSTHeurística:Distancia acumulada más corta

I

A D

I

A D

B D

3 4

7 8

4

1

2

I

A D

B D A E7 8 9 6

3

I

A D

B D A E

7 8 9

E

B F

11 10

4

I

A D

B D A E8 9

E

B F11 10

5

B

C E1211

I

A D

B D A E9

E

B F11 10

6

B

C E1211

D

E10

I

A D

B D A E

F B B E E C E

F B

11 12

15 14

13 11 10

7

I

A D

B D A E

F B B E E C E

F

11 12

15 14

13 11

F B M

13

8

Beam search

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda y selecciona los N mejores (los demás eliminalos)

EJEMPLO DE BÚSQUEDABEAM SEARCH

Beam search Beam=2

I

A D

I

A D

B D

3 4

7 8

4

X

1

2

I

A D

B A E7 9 6

X

3

I

A D

B E7

E

B F11 10

X

4

I

A D

B EE

F 10

B

C E 1211X

5

I

A D

B EE

F

B

C

M

6

Espacio Usado

• depth-first:(b-1)*n + 1 • breadth-first: b• hill-climbing: 1 • best-first: entre b y b• beam-seach: beam

d

dn

Mejor Solución

Cuando importa el costo de encontrar unasolución

Si g(P) es el costo de camino o soluciónparcial, la solución óptima es aquella cong(P) mínima.

Una forma segura: búsqueda exhaustiva yseleccionar el de menor costo (BrittishMuseum)

Best-first no es óptimo, pero con unapequeña variante ya lo es.

Branch and Bound trabaja como best-firstpero en cuanto se encuentra una solución,sigue expandiendo los nodos de costosmenores al encontrado

Branch and Bound

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta y los demás nodos sean de costos mayores o iguales a la meta si el primer elemento es la meta y los demás nodos son de menor o igual costo a la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda

EJEMPLO DE BÚSQUEDABRANCH AND BOUND

I

A D

B D A E

F B B E E C E

F

11 12

15 14

13 11

F M 13

X

Búsqueda Branch and Bound

B

1

I

A D

B D A E

F B B E E C E

F

11

12

15 14

13

F B M 13 A C

15 15

2

I

A D

B D A E

F B B E C E

F

11

15 14

13

F B M

13

A C

15 15

D F

14 16

3

Idea: no explorar caminos a los que yallegamos por caminos más cortos/baratos

El algoritmo es igual sólo hay que añadir lacondición:

elimina todos los caminos que lleguen almismo nodo excepto el de menor costo

Dynamic Programming

EJEMPLO CON DYNAMIC PROGRAMMING

I

A D3 4

Dynamic programming

I

A D

B D7 8

X

4

1

2

I

A D

B A E7 9 6

X

43

3

I

A D

B E7 E

B F13 10

3 4

6

X

4

I

A D

B E7 E

E11 10

3 4

6

X

F12C

5

I

A D

B E7 E

11 10

3 4

6

FC

M

6

A*: utiliza dos medidas

Idea: usar estimaciones de los costos/distanciasque faltan junto con los costos/distanciasacumuladas

estim(camino que falta)+costo(camino recorrido)estim(total) =

Las estimaciones no son perfectas, por lo que seusan sub-estimaciones

subestim(total) =subestim(camino que falta)

+

De nuevo expande hasta que los demás tengan sub-estimaciones más grandes (v.g., subestimacionesde distancias entre ciudades pueden ser líneasrectas)

costo(camino recorrido)

Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta y los demás nodos sean de costos mayores o iguales a la meta si el primer elemento es la meta y los demás nodos son de menor o igual costo a la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda de acuerdo al costo acumulado más las subestimaciones de los que falta

EJEMPLO DE BÚSQUEDA A*

I

A D13.4 12.9

I

A D

A E

13.4

19.4 12.9

A*1

2

I

A D

EE

F 13.0

13.4

B17.7

A19.4

3

I

A D

EE

F

13.0

13.4

B17.7

A19.4

M

4

Comparación Interactive Deepening (IDS) con A* con dos heurísticas (h1 yh2). Resultados promedios de 100 instancias del 8-puzzle.

Costo de búsqueda Arborescencia

d

24

81012141618202224

6

IDS

10112680

638447127

3644043473941

-----

A*(h )1 A*(h )2 IDS

613203993

227539130130567276

1809439135

61218253973

113211363676

12191641

2.452.872.732.802.792.782.83-----

1.791.481.341.331.381.421.441.451.461.471.481.48

A*(h )1 A*(h )21.791.45 1.301.241.221.241.231.251.261.271.281.26

efectiva

• si el tamaño de búsqueda es pequeño (rara vez), podemos hacer búsqueda exhaustiva• sin información depth-first con progressive- deepening• branch and bound en general está bien• dynamic programming cuando existen muchos posibles caminos con cruces• A* cuando podemos tener una buena subestimación

¿Cuándo usamos cada una?

Tarea

• Leer Capítulo 3 de Russell• Plantear el problema la Torres de Hanoi como un

problema de búsqueda:– Especificar la representación de los estados, y el estado

inicial y meta– Especificar los operadores para generar estados– Mostrar el árbol para el caso de 3 discos– Se te ocurre alguna heurística para hacer más eficiente

la búsqueda?

Recommended