Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el...

36
1 Inteligencia Inteligencia Artificial I Artificial I Rafael Rivera López Departamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas Computacionales 2 Técnicas de Búsqueda y Satisfacción de Restricciones Unidad IV

Transcript of Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el...

Page 1: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

1

InteligenciaInteligenciaArtificial IArtificial I

Rafael Rivera López

Departamento de Sistemas y Computación

Ago-Dic 2008

Veracruz, Ver.

Ingeniería en Sistemas Computacionales

2

Técnicas de Búsqueda y

Satisfacción de Restricciones

Unidad IV

Page 2: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

3

ResoluciónResoluciónde Problemasde Problemas

I.3

29/11/09 4

Resolución de problemas

Se quiere:q Resolver automáticamente un problema

Se necesita:q Una representación del problemaq Algoritmos que usen alguna estrategia para

resolver el problema definido en esa representación

Page 3: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

29/11/09 5

Definición de un problema

Si se abstraen los elementos de un problema se pueden identificar:q Un punto de partidaq Un objetivo a alcanzarq Acciones a disposición para resolver el

problemaq Restricciones sobre el objetivo (p.e., de

costo)q Elementos del dominio que son relevantes en

el problema (p.e., conocimiento incompleto del punto de partida)

29/11/09 6

Representación de problemas

Existen diferentes formas de representar problemas para resolverlos de manera automáticaRepresentaciones generales:q Espacio de estados. Un problema se divide en un

conjunto de pasos de resolución desde el inicio hasta el objetivo.

q Reducción a sub-problemas. Un problema se descompone en una jerarquía de sub-problemas.

Representaciones para problemas específicos:q Resolución de juegosq Satisfacción de restricciones

Page 4: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

7

RepresentaciónRepresentaciónpor Estadospor Estados

I.3

29/11/09 8

Representación de problemas: estados• Se puede definir un problema por los elementos

que intervienen y sus relaciones.En cada instante de la resolución de un problema esos elementos tendrán unas características y relaciones específicas.

• Se denomina estado a la representación de los elementos que describen el problema en un momento dado.Se distinguen dos estados especiales: el estado inicial (punto de partida) y el estado final (en general, el objetivo del problema).

Page 5: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

29/11/09 9

Espacio de estados

• El conjunto de todos los estados alcanzables desde el estado inicial conforma lo que se denomina espacio de estados.Representa todos los caminos que hay entre todos los estados posibles de un problema.El espacio de estados forma un grafo (o mapa) en el cual los nodos son estados y los arcos son acciones.La solución del problema está dentro de ese mapa.

10

Terminología

Espacio de estados

Estado Solución

Page 6: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

11

Terminología

Espacio de búsqueda

Estado

Ruta de búsqueda

Solución

12

Terminología de búsquedaEstado inicial: Donde el agente inicia la búsqueda.Operadores: Definición de las acciones que un agente puede tomar.n Especifican como el agente puede moverse dentro del

espacio de búsqueda.

Prueba de meta: Es la forma de determinar si la búsqueda ha tenido éxito.n Comparar el estado actual contra el estado meta

Costo de la ruta: Es el costo total de alcanzar la meta desde el estado inicial. n Generalmente es la suma de los costos individuales de

las acciones.

Page 7: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

29/11/09 13

Descripción de un problema en el espacio de estados

Definir el espacio de estados (explícita o implícitamente)Especificar el estado inicialEspecificar el estado final o las condiciones que cumpleEspecificar los operadores de cambio de estado (condiciones de aplicabilidad y función de transformación)Especificar el tipo de solución:q La secuencia de operadores o el estado finalq Una solución cualquiera, la mejor (definición de

costo), todas …

14

Ejemplos de Ejemplos de Problemas de Problemas de

BúsquedaBúsqueda

I.3

Page 8: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

15

Ejemplos de ProblemasAjedrez: Búsqueda a través de un conjunto de posibles movimientos.n Seleccionar un movimiento que mejora su posición.

Planeación de rutas: Búsqueda a través de un conjunto de posibles caminos.n Seleccionar áquel que minimice la distancia recorrida.

Prueba de Teoremas: Búsqueda en un conjunto de pasos de razonamiento.n Seleccionar una secuencia de razonamientos para probar un

teorema.

Aprendizaje de máquina: Búsqueda en un conjunto de conceptos.n Seleccionar un concepto que logre una mejor categorización.

16

Ejemplo: Ajedrez

Estado inicialn Ubicación inicial de las

piezas.

Operadoresn Reglas de movimiento de

las piezas

Prueba de metan Jaque-mate: el rey no

tiene opción de salir de un ataque.

Page 9: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

17

Ejemplo: Planeación de rutas

Estado inicial:n Ciudad donde se inicia la

ruta.

Operadoresn Reglas de desplazamiento

entre ciudades.

Prueba de metan Cuando la ciudad localizada

sea la ciudad destino.

Teziutlán

Veracruz

Nautla

Poza Rica

Xalapa

Perote

29/11/09 18

Ejemplo: 8 puzzle• Espacio de estados:

n configuraciones de 8 fichas en el tablero" Estado inicial:

n cualquier configuración" Estado final:

n fichas en orden específico" Acción:

n “mover hueco”q Condiciones:

q el movimiento está dentro del tableroq Transformación:

q “mover el hueco” a la Izquierda, Derecha, Arriba y Abajo

" Solución: Qué pasos + El menor número

8

2 3

4

1

6

7

5

Page 10: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

29/11/09 19

Ejemplo: n reinas

n = 4 n = 8

20

Tarea 46:

Identificar el Estado inicial, los operadores y la prueba de meta para el problema :n De las ocho reinas.n De los misioneros y canibales.n De encontrar el número telefónico de Pedro Pérez,

que vive en Veracruz, tienendo un grupo de directorios ordenados alfabéticamente por ciudad.

n De colorear un mapa en el plano usando cuatro colores, sin poner del mismo color dos regiones adyacentes (coloreo de grafos).

Page 11: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

21

BúsquedaBúsqueda

I.3

22

Búsquedan Proceso:

wCuando el agente ejecuta una secuencia de acciones para encontrar una solución o meta

n Técnica para resolver problemas:w Sistematicamente explora un espacio de estados del

problema para resolverlo.

Page 12: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

23

Estrategia de búsqueda

Define la forma de seleccionar una acción (operador) sobre un estado, para encontrar un nuevo estado, que acerque a la solución.Criterios para definir una estrategia de búsqueda:n Completez: la estrategia garantiza encontrar una

solución, si está existe.n Complejidad temporal: Cuanto tiempo tarda en

encontrar una solución.n Complejidad espacial: Cuanto espacio necesita

para encontrar una solución.n Optimalidad: Se encuentra la mejor solución

24

Estrategia de búsqueda

Tipos: n Sin información (ciega, uninformed)

wPor profundidad (depth-first)wPor amplitud (breadth-first)wCosto UniformewPor profundidad limitada (depth-limited)wPor profundidad iterativa (depth-first iterative

deepening)wBidireccional

n Con información

Page 13: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

25

Árbol de búsqueda

Árbol de búsqueda: Es creado al aplicar la estrategia de búsqueda.Elementos:n Nodos: Representan a un posible estado, adicionando

otros elementos (padre, hijos, costo).

n Nodo raiz: Estado inicial.n Arcos: Señalan a los nodos hijos (sucesores o

expandidos).n Función sucesor: La que determina la forma de crear

hijos en el árbol (ejecuta la expansión del árbol).

26

Árbol de búsqueda

57

461

382

567

48

321

Estado Inicial Estado Meta

Problema: 8-puzzle

Page 14: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

27

Árbol de búsqueda

28

Búsqueda por Búsqueda por amplitudamplitud

I.3

Page 15: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 29

Búsqueda por amplitud

Expande un nodo aplicando los operadoresSe usa una cola FIFO, los sucesores se colocan al final de la cola.

Es A es estado meta?

Cola= [A]

14 Jan 2004 CS 3243 - Blind Search 30

Búsqueda por amplitud

Expande un nodo aplicando los operadoresSe usa una cola FIFO, los sucesores se colocan al final de la cola.

Expansión:cola = [B,C]

Es B el estado meta?

Page 16: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 31

Búsqueda por amplitud

Expande un nodo aplicando los operadoresSe usa una cola FIFO, los sucesores se colocan al final de la cola.

Expansión:cola=[C,D,E]

Es C el estado meta?

14 Jan 2004 CS 3243 - Blind Search 32

Búsqueda por amplitud

Expande un nodo aplicando los operadoresSe usa una cola FIFO, los sucesores se colocan al final de la cola.

Expansión:cola=[D,E,F,G]

Es D el estado meta?

Page 17: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

33

Búsqueda por Búsqueda por profundidadprofundidad

I.3

14 Jan 2004 CS 3243 - Blind Search 34

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

Es A el estado meta?

Page 18: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 35

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[B,C]

Es B el estado meta?

14 Jan 2004 CS 3243 - Blind Search 36

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[D,E,C]

Es D el estado meta?

Page 19: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 37

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[H,I,E,C]

Es H el estado meta?

14 Jan 2004 CS 3243 - Blind Search 38

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[I,E,C]

Es I el estado meta?

Page 20: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 39

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[E,C]

Es E el estado meta?

14 Jan 2004 CS 3243 - Blind Search 40

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[J,K,C]

Es J el estado meta?

Page 21: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 41

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[K,C]

Es K el estado meta?

14 Jan 2004 CS 3243 - Blind Search 42

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[C]

Es C el estado meta?

Page 22: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 43

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[F,G]

Es F el estado meta?

14 Jan 2004 CS 3243 - Blind Search 44

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[L,M,G]

es L el estado meta?

Page 23: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 45

Búsqueda por profundidad

Expande un nodo aplicando los operadoresSe usa una cola LIFO, los sucesores se colocan al principio de la cola.

cola=[M,G]

Es M el estado meta?

46

Búsqueda por costo Búsqueda por costo uniformeuniforme

I.3

Page 24: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 47

Costo Uniforme

Expandir el nodo con menor costo de ruta.

48

Búsqueda por Búsqueda por profundidad limitadaprofundidad limitada

I.3

Page 25: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 49

Produndidad limitada

• La búsqueda por profundidad puede ser infinita.

•Solución à búsqueda por profundidad limitada: Solo se expande hasta un

nivel de profundidad.

à búsqueda por profundidad iterativa: El nivel de profundidad seva incrementando.

14 Jan 2004 CS 3243 - Blind Search 50

Profundidad Limitada con L=0

Page 26: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 51

Profundidad Limitada con L=1

14 Jan 2004 CS 3243 - Blind Search 52

Profundidad Limitada con L=2

Page 27: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 53

Profundidad Limitada con L=3

14 Jan 2004 CS 3243 - Blind Search 54

Búsqueda bidireccional

n Expande tando el nodo inicial como el nodo meta.n La expansión debe terminar cuando las

expansiones coinciden en un nodo.

Page 28: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

14 Jan 2004 CS 3243 - Blind Search 55

Tarea 47: Mundo de los bloques

n A partir del espacio de búsqueda del mundo de los bloques:n Numerar los posibles estadosn Indicar la forma de crecimiento de la cola de expansión

aplicando, desde el nodo inicialn Búsqueda por profundidadn Búsqueda por amplitud

56

Búsqueda con Búsqueda con InformaciónInformación

I.3

Page 29: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

57

Búsqueda con información

Utilizan conocimiento adicional a la definición del problema, para alcanzar la meta.Generalmente se representa con una función que estima la distancia del nodo actual a la meta:n Best-first (greedy best-first y A*)n Heurísticasn Búsqueda localn Hill-climbing (ascenso de colina)n Recocido simulado, algoritmos genéticos, ...

58

Búsqueda best-firstLa función f(n) determina un estimado del costo total.n Se expande el nodo con el costo menor f(n).

Casos especiales:n greedy best-first (glotón)n A* (A estrella)

Page 30: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

59

Búsqueda de ruta óptima

374

253

366

329

60

Búsqueda greedy best-first

f(n) = Estima el costo del nodo actual a la meta.Greedy best-first expande el nodo que “aparenta” estar mas cerca de la meta.Ejemplo de rutas:n f(n) = Es la distancia en línea recta entre

una ciudad y Bucarest.

Page 31: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

61

Búsqueda greedy best-first

62

Búsqueda greedy best-first

Page 32: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

63

Búsqueda greedy best-first

64

Búsqueda greedy best-first

Page 33: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

65

Búsqueda A*

Evita expandir nodos que son muy costosos.Evaluation function f(n) = g(n) + h(n)g(n) = Costo de llegar al nodo n.h(n) = Costo estimado de llegar a la meta desde n.f(n) = Costo total estimado de la ruta, pasando por n, entre el inicio y la meta.

66

Búsqueda A*

Page 34: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

67

Búsqueda A*

68

Búsqueda A*

Page 35: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

69

Búsqueda A*

70

Búsqueda A*

Page 36: Inteligencia Artificial I - · PDF fileInteligencia Artificial I ... n De encontrar el número telefónico de Pedro Pérez, ... Estrategia de búsqueda Tipos: n Sin información (ciega,

71

Búsqueda A*

14 Jan 2004 CS 3243 - Blind Search 72

Tarea 48:

Definir los siguientes conceptos:n Heurístican Búsqueda localn Hill-climbing (ascenso de colina)n Recocido simulado