1 / 36

Inteligencia artificial

Métodos de Búsqueda Ciega e Informados. Inteligencia artificial. Métodos de Búsqueda Ciega Amplitud Profundidad No determinístico Métodos Informados La función Evaluadora Ascenso a la Colina Primero el Mejor A* Ramificación y Acotación. Temas.

ulla-sears
Download Presentation

Inteligencia artificial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Métodos de Búsqueda Ciega e Informados Inteligencia artificial

  2. Métodos de Búsqueda Ciega • Amplitud • Profundidad • No determinístico • Métodos Informados • La función Evaluadora • Ascenso a la Colina • Primero el Mejor • A* • Ramificación y Acotación Temas

  3. Son procedimientos de búsqueda del estado meta sobre el árbol de estado. Sólo consideran la relación de precedencia entre estados. No se considera información de beneficio o utilidad de pasar de un estado a otro. Métodos de búsqueda ciega

  4. Implementación con Listas: • LE  Lista de nodos en espera de proceso • LV  Lista de nodos ya procesados Métodos de búsqueda ciega

  5. El procedimiento consiste en: • Iniciar en el nodo raíz. • Mientras que el nodo no corresponde al nodo meta • Generar nodos sucesores no redundantes a este • Terminar si se encontró el estado meta o no hay más nodos para verificar. Métodos de búsqueda ciega: búsqueda en amplitud

  6. Implementación con listas: • Se compara el primer elemento de LE • Se registran los sucesores al final de LE Métodos de búsqueda ciega: búsqueda en amplitud P Q R Q R Hijos(P)

  7. Algoritmo: Inicio 1. LE := (Estado_Inicial); 2. LV:= (); Test de Parada 3. Si (LE = ()) entonces Escribir («No hay solución»), PARE; 4. LISTA := Primer (LE); 5. P := Ultimo (LISTA); 6. Si (P es meta) entonces Escribir («Solución: », P), PARE; Genera Sucesores 7.Adiciona_ultimo (P, LV); 8.Elimina_primer (LE); 9. Para (Nodos  (Hijos(P) - LV)) W_LISTA := LISTA; Adiciona_ultimo (Nodo, W_LISTA); Adiciona_ultimo(W_LISTA, LE); Fin_Para 10. Ir para 3 Métodos de búsqueda ciega: búsqueda en amplitud

  8. Ejemplo: Determine un camino para a-k Métodos de búsqueda ciega: búsqueda en amplitud

  9. Métodos de búsqueda ciega: búsqueda en amplitud La ruta solución es a-b-h-k

  10. Conceptos: • Hoja Nodo del árbol que no tiene sucesores. • Rama Camino que inicia en el nodo raíz y termina en un nodo hoja. Métodos de búsqueda ciega: Búsqueda en Profundidad

  11. El procedimiento consiste en: • Buscar por las ramas del árbol de estados. • Mientras que en la rama no se encuentra el estado meta • Generar nodos sucesores no redundantes a este • Terminar si se encontró el estado meta o no hay más ramas para investigar. Métodos de búsqueda ciega: Búsqueda en Profundidad

  12. Implementación con listas: • Se compara el primer elemento de LE • Se registran los sucesores al inicio de LE Métodos de búsqueda ciega: búsqueda en profundidad P Q R Hijos(P) Q R

  13. Algoritmo: Inicio 1. LE := (Estado_Inicial); 2. LV:= (); Test de Parada 3. Si (LE = ()) entonces Escribir («No hay solución»), PARE; 4. LISTA := Primer (LE); 5. P := Ultimo (LISTA); 6. Si (P es meta) entonces Escribir («Solución: », P), PARE; Genera Sucesores 7.Adiciona_ultimo (P, LV); 8.Elimina_primer (LE); 9. Para (Nodos  (Hijos(P) - LV)) W_LISTA := LISTA; Adiciona_ultimo (Nodo, W_LISTA); Adiciona_primero(W_LISTA, LE); Fin_Para 10. Ir para 3 Métodos de búsqueda ciega: búsqueda en profundidad

  14. Ejemplo: Determine un camino para a-k Métodos de búsqueda ciega: búsqueda en profundidad

  15. Métodos de búsqueda ciega: búsqueda en profundidad La ruta solución es a-b-h-k

  16. El procedimiento consiste en seleccionar un nodo aleatoriamente de la lista LE. Los nodos sucesores pueden ser colocados tanto al inicio como el final. Métodos de búsqueda ciega: búsqueda No determinística

  17. Algoritmo: Inicio 1. LE := (Estado_Inicial); 2. LV:= (); Test de Parada 3. Si (LE = ()) entonces Escribir («No hay solución»), PARE; 4. P := Aleatorio(LE); 5. Si (P es meta) entonces Escribir («Solución: », P), PARE; Genera Sucesores 6. Adiciona_ultimo (P, LV); 7. Elimina_Aleatorio(LE); 8. Adiciona_inicio (Hijos(P)-LV, LE); 9. Ir para 3 Métodos de búsqueda ciega: búsqueda no determinista

  18. Se aplica un conocimiento al proceso de búsqueda para hacerlo más eficiente. El conocimiento esta dado por una función que estima lo deseable de expandir un nodo. Métodos informados

  19. Mapea cada nodo de búsqueda N a un número real f(N). • Mide la utilidad de la información adicional asociado a cada estado. • h(N)  Función Heurística, costo real del camino mínimo que une N y un nodo objetivo. • g(N)  costo del camino de mínimo costo que une el nodo inicial y N. • f(N)  costo del camino de mínimo costo que pasa por N, entre el nodo inicial y un nodo objetivo. • f(N) = h(N)  búsqueda Primero el Mejor • f(N) = g(N) + h(N) La función evaluadora

  20. Procedimiento semejante a la búsqueda en profundidad. • La diferencia es que los nodos sucesores son ordenados del mejor al peor valor de su función de evaluación antes de adicionarse a la lista LE. • Minimización  menor a mayor valor • Maximización  mayor a menor valor Métodos informados de búsqueda: Ascenso a la colina

  21. Implementación con listas: • Se compara el primer elemento de LE • Se registran los sucesores al inicio de LE luego de haberlos ordenado. Métodos informados de búsqueda: Ascenso a la colina P Q R Hijos(P) Q R

  22. Algoritmo: Inicio 1. LE := (Estado_Inicial); 2. LV:= (); Test de Parada 3. Si (LE = ()) entonces Escribir («No hay solución»), PARE; 4.LISTA := Primer o(LE); 5. P := Ultimo(LISTA); 6. Si (P es meta) entonces Escribir («Solución: », P), PARE; Genera Sucesores 7. Adiciona_ultimo (P, LV); 8. Elimina_primero (LE); 9. Hijos_diferentes := Hijos (P) – LV; 10. Ordena(Hijos_diferentes); 11. Para (Nodo  Hijos_diferentes) Inicio W_LISTA := LISTA; Adiciona_final(Nodo,W_LISTA); Adiciona_inicio(W_LISTA, LE); Fin_Para 12. Ir para 3 Métodos informados de búsqueda: Ascenso a la colina

  23. Ejemplo: • Considerar el siguiente laberinto, en el cual se puede pasar desde una casilla a cualquiera de las posibles adyacentes (arriba, abajo, izquierda o derecha), salvo si hay una barrera entre ellas: • Se trata de encontrar el camino más corto para ir desde la casilla I a la casilla F. Métodos informados de búsqueda: Ascenso a la colina A B C D E G W W M N I P Q R T F

  24. Función de evaluación: • F(n) = Distancia Manhattan a la casilla F • La ruta es I-Q-R-T-K-M-F Métodos informados de búsqueda: Ascenso a la colina

  25. En este procedimiento se ordenan los nodos después de insertarlos a LE. De esta manera el criterio de selección es dado por el nodo LE que presenta el «mejor» valor de la función de evaluación. Métodos informados de búsqueda:Primero el mejor

  26. Implementación con listas: • Se compara el primer elemento de LE • Se registran los sucesores en LE. • Se ordenan los elementos de LE. Métodos informados de búsqueda:Primero el mejor P Q R Hijos(P) Q R

  27. Algoritmo: Inicio 1. LE := (Estado_Inicial); 2. LV:= (); Test de Parada 3. Si (LE = ()) entonces Escribir («No hay solución»), PARE; 4.LISTA := Primer o(LE); 5. P := Ultimo(LISTA); 6. Si (P es meta) entonces Escribir («Solución: », P), PARE; Genera Sucesores 7. Adiciona_ultimo (P, LV); 8. Elimina_primero (LE); 9. Hijos_diferentes := Hijos (P) – LV; 10. Para (Nodo  Hijos_diferentes) Inicio W_LISTA := LISTA; Adiciona_final(Nodo,W_LISTA); Adiciona_inicio(W_LISTA, LE); Fin_Para 11. Ordena(LE); 12. Ir para 3 Métodos informados de búsqueda:Primero el mejor

  28. Ejemplo: • Considerar el siguiente laberinto, en el cual se puede pasar desde una casilla a cualquiera de las posibles adyacentes (arriba, abajo, izquierda o derecha), salvo si hay una barrera entre ellas: • Se trata de encontrar el camino más corto para ir desde la casilla I a la casilla F. Métodos informados de búsqueda:Primero el mejor A B C D E G W W M N I P Q R T F

  29. Función de evaluación: • F(n) = Distancia Manhattan a la casilla F • La ruta es I-Q-R-T-K-M-F Métodos informados de búsqueda:Primero el mejor

  30. Se considera la siguiente función de evaluación: f(N) = g(N) + h(N) donde: g(N) = costo de la mejor ruta a N encontrada hasta aquí h(N) = función heurística admisible Métodos informados de búsqueda: búsqueda a*

  31. Ejemplo: • Considerar el siguiente laberinto, en el cual se puede pasar desde una casilla a cualquiera de las posibles adyacentes (arriba, abajo, izquierda o derecha), salvo si hay una barrera entre ellas: • Se trata de encontrar el camino más corto para ir desde la casilla I a la casilla F. Métodos informados de búsqueda: búsqueda a* A B C D E G W W M N I P Q R T F

  32. Función de evaluación: • F(n) = g(n) + h(n) • Donde: • g(n): Número de Casillas que ha avanzado • h(n): Distancia Manhattan a la casilla F Métodos informados de búsqueda: búsqueda a*

  33. La ruta es I-W-K-M-F Métodos informados de búsqueda: búsqueda a*

  34. Ramificar: Proceso de generar los nodos sucesores de cierto nodo de un árbol. • Criterios de Ramificación: • Primero el mejor • FIFO • LIFO Ramificación y acotación

  35. Acotación Proceso de simplificación de la búsqueda a través de la poda de ramas o subárboles que presentan peores soluciones. • Actualización de la Cota Cota del nodo es el valor de la función de evaluación que tiene un nodo ya procesado. Si en la ramificación se genera un nodo con mejor valor, entonces la cota se actualiza. Ramificación y acotación

  36. Algoritmo: Inicio 1. LE := (Estado_Inicial); LV:= (Estado_Inicial); Cota(Estado_Inicial) :=0; Test de Parada 3. Si (LE = ()) entonces Escribir («No hay solución»), PARE; 4.LISTA := Primer o(LE); P := Ultimo(LISTA); 5. Si (P es meta) entonces Escribir («Solución: », P), PARE; Ramificación y Acota 6. Elimina_Mejor(LE); 7Para (Nodo  Hijos(P)) W_LISTA := LISTA; Si (Nodo  LV) Adiciona_final(Nodo,W_LISTA); Adiciona_inicio(W_LISTA, LE); Cota(nodo) := f(W_LISTA); Adiciona_ultimo (Nodo, LV); sino Si (f(W_LISTA) < Cota(Nodo)) Adiciona_final(Nodo,W_LISTA); Adiciona_inicio(W_LISTA, LE); Cota(nodo) := f(W_LISTA); Fin_Si Fin_Para 8.Ordena(LE); 9. Ir para 2 Ramificación y acotación

More Related