Problemas de Búsqueda en IA

July 14, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Problemas de Búsqueda en IA...

Description

 

Problemass de Búsqueda en IA Problema Univer Universidad sidad del Magdalena Ingeniería de Sistemas 218-I

 

¿Qué es un Problema de Búsqueda? •

Búsqueda: es el proceso de hallar una secuencia de acciones que conduzcan a la solución de un problema (objetivo). Es una exploración de alternativas.



Para resolver un problema automáticamente necesitamos una representación del problema y un algoritmo que utilice alguna estrategia.

 

Representación del Problema •

Estado inicial



Una descripción de las posibles acciones



Estado objetivo Espacio de estados



Función de costo





Solución: camino desde un estado inicial hasta un estado objetivo

 

Ejemplo: 8-puzzle

1

2

3

4

5

6

7

8

 

Ejemplo: 8-puzzle •

• •



Estados: configuración configuración de las ocho casillas del tablero (9!/2 = 181.440 estados alcanzables). configuración Estado inicial: cualquier configuración Estado orden objetivo: las casillas en un especifico Operadores Operador es o acciones ac ciones: “mover al blanco”  –

 –



Condición: el movimiento debe hacerse dentro del tablero Transf ransformación: ormación: movimientos izquierda, derecha, arriba, o abajo

Solución: secuencia optima de operadores

 

Ejemplo: n reinas (n = 4, n = 8)

 

Ejemplo: n reinas (n = 4, n = 8) •

• •

Estados: configuraciones de 0 a n reinas en un tablero con solamente una reina por columna y fila (64x63x...x57 ~ 3x10^14 estados). Estado inicial: configuración sin reinas en el tablero Estado objetivo: configuración con n reinas tal que ninguna reina ataque a ninguna otra

• •



Operadores o acciones colocar un reina el tablero Condición: la nueva reina:no sea atacada poren ninguna otra ya colocada  Transformación: colocar una nueva reina en una casilla del tablero Solución: ? (no se considera costo)

 

El mun mundo do de la la aspi aspirrad ador ora a

 

El Mundo de la Aspiradora •

Estados: el agente esta en una de dos localizaciones, cada una de las cuales puede est estar ar o no sucia. Hay 2 x 2^2 = 8 posibles estados.



Estado inicial: cualquier estado



Estado final: todos los cuadros limpios





Acciones: moverse a la izquierda, derecha y aspirar. Solución: numero de pasos que la conformarían.

 

El Mundo de la Aspiradora •

Espacio de estados

 

Estrategias de Búsqueda •

Búsqueda basadas en arboles

 

Estrategias de Búsqueda sin Información



Solamente utiliza la información disponible en la definición del problema

Algoritmos: •



Primero en anchura



Primero en profundidad Búsqueda de costo uniforme



Búsqueda con profundidad limitada



Búsqueda con profundidad iterativa

 

Ejemplo: viajando en Rumania

 

Primero en Anchura •



Idea: expandir los nodos de un mismo nivel que no han sido expandidos antes. Utilizar un cola FIFO los sucesores ingresan al final de la cola. ‘b’

3

12

3

‘a’

‘c’

Firs Firstt In Firs Firstt Out Out

31 ‘s’

 

Algoritmo Primero en Anchura

 

Primero en Anchura

 

Primero en Anchura

 

Primero en Anchura

 

Primero en Anchura

 

Primero en Anchura •

¿Cómo quedaría el problema de Rumania?



Hacer el ejercicio ej ercicio completo completo con el problema de las jarras de agua y el problema del granjero.

 

Viajando en Rumania Primero en anchura:

 

Viajando en Rumania Primero en anchura:

 

Medida del Rendimiento de la Solución de un Problema existe.  Completitud: siempre encuentra la solución cuando esta existe. expandidos/generados.  Tiempo requerido: numero de nodos expandidos/generados.  Memoria requerida: espacio en memoria requerido.  Optimalidad: encuentra la solución optima?

La complejidad en términos de tiempo y memoria se mide en términos de:

b: máximo factor de ramificación del árbol de búsqueda d: profundidad de la solución con mínima distancia desde la raíz. m: máxima longitud de cualquier camino en el espacio de estados.

 

Evaluación del Primero en Anchura Completitud: si, si b es finito. Tiempo: b + b^2 + b^3 + … b^d + (b^(d+1) - b) ϵ O(b^(d +1)) +1)) i.e. exponencial in d. Espacio: O(b^d +1). +1). Memoria: cada nodo generado se guarda en memoria. Optimo: depende, es optimo si el costo de cada paso es 1. Desventaja: la capacidad de memoria requerida

(e.g 5MB/ 5MB/sec sec so 24 24hrs hrs = 430G 430GB) B)

 

Primero en Profundidad Principio: Expande el nodo mas profundo que no ha sido expandido antes. Implementación: Con una pila (ultimo en entrar, primero en salir) LIFO. Nota: Necesita solo almacenar un camino desde la raíz a un nodo hoja y los nodos hermanos no expandidos para

cada nodo en el camino.

 

Algoritmo Primero en Profundidad

 

Ejemplo: primero en profundidad

 

Ejemplo: primero en profundidad

 

Ejemplo: primero en profundidad

 

Ejemplo: primero en profundidad

 

Ejemplo: primero en profundidad

 

Ejemplo: primero en profundidad

 

Ejemplo: primero en profundidad

 

Viajando por Rumania: primero en profundidad •

Como quedaría el árbol de búsqueda primero en profundidad en este caso?

 

Viajando por Rumania: primero en profundidad Si no se evitan los nodos repetidos

 

Propiedades del Primero en Profundidad Completitud: Si, si el espacio de estados es infinito. No, si el estado contiene caminos infinitos o loops. Optimalidad: No Tiempo: O(b^m) Memoria: O(bm) (i.e. lineal) Desventaja: costoso en tiempo si m es mucho mas grande

que d .

 

Viajando por Rumania con Función de Costo

 

Búsqueda con Costo Uniforme Principio: Expande el nodo no-expandido con mínimo costo. (el costo es sumado desde la l a raíz a las hojas) Implementación: Con una cola ordenada ascendentemente de acuerdo al costo del camino. Nota: Es equivalente al algoritmo primero en anchura si todos los pasos tienen igual costo.

 

Viajando por Rumania con Costo Uniforme 1 140

Arad 75 118

Sibiu

Timisoara

Zerind

150

Arad

2

146

Oradea

 

1

Arad

140

75 118

3

Sibiu

Timisoara 236

229

Zerind

2

150

146

Lugoj Arad

Arad

Oradea

 

1 Arad

140

75

4

Sibiu

280

Arad

239 Fagaras

118

3

291 Oradea

Zerind

Timisoara 229

236

150

220 R. Vilcea

2

Arad

Lugoj

Arad

146

Oradea

 

1 Arad

140

75

4

Sibiu

280

Arad

239 Fagaras

118

3

291 Oradea

Zerind

Timisoara

2

229

236 220

150 R. Vilcea

146 5

Arad

Lugoj

Oradea

Arad 297 Sibiu

217 Zerind

 

1 Arad

140

75

4

118

3

Sibiu

280

Arad

239 Fagaras

Zerind

Timisoara

291 Oradea

366 Craiova

6

2

229

236

150

220

5

R. Vilcea

317 Pitesti

146

Arad 300

Lugoj

Oradea

Arad 297

Sibiu

Sibiu

217 Zerind

 

1 Arad

140

75

4

Sibiu

280

Arad

239 Fagaras

118

3

291

6

Craiova

2

229

236

150

220

317 Pitesti

146

7

R. Vilcea

Oradea

366

Zerind

Timisoara

Lugoj

Arad 340

300 Sibiu

5

Mehadia

Oradea

Arad 299

297

Timisoara

Sibiu

217 Zerind

 

1 Arad

140 75 4

118

3

Sibiu

280

239

Zerind

Timisoara 6

291

2

229

236

150

220

146 5

7 Arad

Fagaras

Oradea

R. Vilcea

Lugoj

Arad

Oradea

Arad

8 366 450

Bucharest

317

300

338

340

Sibiu

Craiova

Pitesti

Sibiu

Mehadia

299

297

Timisoara

Sibiu

217 Zerind

 

1 Arad

140 75 4

118

3

Sibiu

280

239

Zerind

Timisoara 6

291

2

229

236

150

220

146

7 Arad

Fagaras

R. Vilcea

Oradea

5

Lugoj

Arad

Oradea

Arad

8 366 450

Bucharest

300

317

338

340

9

Sibiu

Craiova

Pitesti 418

Bucharest

455

Sibiu 414

Craiova

R. Vilcea

Mehadia

299

297

Timisoara

Sibiu

217 Zerind

 

1 Arad

140 75 4

118

3

Sibiu

280

239

Zerind

Timisoara 6

291

2

229

236

150

220

146 5

7 Arad

Fagaras

Oradea

R. Vilcea

Lugoj

Arad

Oradea

Arad

8

300 450

Bucharest

366

338

Sibiu

317

Craiova 418 Bucharest

Pitesti 455

340

9

Sibiu

Craiova

R. Vilcea

Dobreta

297

Timisoara

Mehadia 374

414

299

10

369 Lugoj

Sibiu

217 Zerind

 

1 Arad

140 75 4

118

3

Sibiu

280

239

291

Zerind

Timisoara 6

2

229

236

150

220

146

7 Arad

Fagaras

R. Vilcea

Oradea

5

Lugoj

Arad

Oradea

Arad

8

300 450

Bucharest 486 Dobreta

366

338

Sibiu 504

Pitesti

11

Craiova 512 R. Vilcea

317

Pitesti 418 Bucharest

340

9

455

Sibiu

299

297

Timisoara

Mehadia 374

414 Craiova

10

R. Vilcea

Dobreta

Sibiu 369 Lugoj

217 Zerind

 

1 Arad

140

75

4

118

3

Sibiu

280

239

291

Zerind

Timisoara 6

2

229

236

150

220

146

7 Arad

Fagaras

R. Vilcea

Oradea

5

Lugoj

Arad

Oradea

Arad

8 450

Bucharest 486 Dobreta

366

338

Sibiu 504

Pitesti

11

Craiova 512 R. Vilcea

317

9

300

Pitesti 418 Bucharest

340

Craiova

374

414

297

Timisoara

Mehadia

Sibiu

455

299

10

R. Vilcea

12

369 Lugoj

Dobreta

449

Mehadia

Sibiu

494

Craiova

217 Zerind

 

Propiedades del Costo Uniforme Completitud: si (si los costos de cada paso son positivos) Optimalidad: si. Time: O (b^d). Memoria: O(b^d).

 

Búsqueda Primero en Profundidad con limite de profundidad  Búsqueda con profundidad limitada constante.  Búsqueda con un limite de profundidad

iterativo.

 

Algoritmo Primero En Profundidad con Limite Limite Iterativo

 

Primero en Profundidad con Profundidad Itera Iterativa tiva

 

Primero en Profundidad con Profundidad Itera Iterativa tiva

 

Primero en Profundidad con Profundidad Itera Iterativa tiva

 

Viajando por Rumania con Profundidad Limitada •

Como quedaría el árbol con profundidad 2?

 

Profundidad Limitada Iterativa: propiedades Complete: si Tiempo: (d +1) +1)b^0 + db^1 + (d -1) -1)b^2 + …. Memoria: O(bd ) Optimaliadad: si (si todos los pasos vale 1)

+

b^d   ϵ  O(b^d )

 

Comparando Propiedades

Criterio

Completitud

Primero en Anchura  

Costo Uniforme





Primero Primer o en Profundidad Profundidad Iterativa

x

 



Tiempo

b^(d+1)



b^d

b^m

b^d

Memoria

b^(d+1)



b^d

bm

bd

Optimalidad

 





x

 



View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF