75
Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep . mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP

Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

Métodos deInteligencia Artificial

L. Enrique Sucar (INAOE)[email protected]

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

UPAEP

Page 2: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

Búsqueda

• Representación• Tipos búsquedas:

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

• Análisis de complejidad

Page 3: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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

Page 4: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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

Page 5: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 6: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

Reinas (Q)

Tablerode

Ajedrez

A=8 B=9 C=10

Q

A B C

QQ

Ejemplo: problema de las 8 reinas

Page 7: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 8: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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

Page 9: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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:

Page 10: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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:

Page 11: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

Terminología:

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

Page 12: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

Nodo raíz

Padre

Hijos

Ramas

Nodos terminales/hojas

Profundidad

Page 13: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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

Page 14: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

Nodo expandido (closed)

Nodos generadosNo explorados (open)

Nodo no generadoNodo exploradoNo expandido

Page 15: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 16: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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):

Page 17: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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):

Page 18: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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:

Page 19: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

El mejor camino (óptimo):

British museum branch and bound A*

Page 20: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

A B C

I

D E F

M

3

34

4 4

42

5 5

GRAFO

Page 21: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 22: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 23: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 24: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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:

Page 25: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 26: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 27: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 28: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 29: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Complejidad

Page 30: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 31: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• mejor caso:

-Σi= 0

bid 1=

b 1-- 1bd

≈ bd 1-

breadth-first:

• peor caso:

Σi= 0

bid=

b 1-- 1b d+1≈ bd

Page 32: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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)

Page 33: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 34: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 35: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 36: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

EJEMPLO BÚSQUEDA BEST-FIRST

Page 37: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

BEST FIRSTHeurística:Distancia acumulada más corta

I

A D

I

A D

B D

3 4

7 8

4

1

2

Page 38: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B D A E7 8 9 6

3

Page 39: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B D A E

7 8 9

E

B F

11 10

4

Page 40: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B D A E8 9

E

B F11 10

5

B

C E1211

Page 41: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B D A E9

E

B F11 10

6

B

C E1211

D

E10

Page 42: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B D A E

F B B E E C E

F B

11 12

15 14

13 11 10

7

Page 43: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 44: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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)

Page 45: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

EJEMPLO DE BÚSQUEDABEAM SEARCH

Page 46: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

Beam search Beam=2

I

A D

I

A D

B D

3 4

7 8

4

X

1

2

Page 47: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B A E7 9 6

X

3

Page 48: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B E7

E

B F11 10

X

4

Page 49: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B EE

F 10

B

C E 1211X

5

Page 50: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B EE

F

B

C

M

6

Page 51: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 52: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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)

Page 53: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 54: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 55: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

EJEMPLO DE BÚSQUEDABRANCH AND BOUND

Page 56: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 57: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 58: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 59: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 60: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

EJEMPLO CON DYNAMIC PROGRAMMING

Page 61: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D3 4

Dynamic programming

I

A D

B D7 8

X

4

1

2

Page 62: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B A E7 9 6

X

43

3

Page 63: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B E7 E

B F13 10

3 4

6

X

4

Page 64: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B E7 E

E11 10

3 4

6

X

F12C

5

Page 65: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

B E7 E

11 10

3 4

6

FC

M

6

Page 66: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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) =

Page 67: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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)

Page 68: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 69: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

EJEMPLO DE BÚSQUEDA A*

Page 70: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D13.4 12.9

I

A D

A E

13.4

19.4 12.9

A*1

2

Page 71: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

EE

F 13.0

13.4

B17.7

A19.4

3

Page 72: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

I

A D

EE

F

13.0

13.4

B17.7

A19.4

M

4

Page 73: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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

Page 74: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

• 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?

Page 75: Métodos de Inteligencia Artificial - INAOEccc.inaoep.mx/~esucar/Clases-MetIA/MetIA-03.pdf · Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000

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?