SlideShare una empresa de Scribd logo
Búsqueda A*
(A Star)
Algoritmo:
1.Crear una lista con el nodo raíz.
2.Hasta que la lista esté vacía o sea alcance la meta:
Si el primer elemento es la meta, ir al paso 3.
Sino, eliminar el primer elemento de la lista y agregar sus hijos sumando
g + h(heurística 1).
Ordenar los elementos de acuerdo al costo y eliminar los repetidos de
costo mayor (heurística 2).
3.Expandir todos los nodos con costo menor que el nodo meta.
Búsqueda A*
(A Star)
• Definiremos una función heurística f como la suma de dos funciones
g y h:
• Función g: es una medida del coste para ir desde el estado inicial hasta el
nodo actual (suma de los costes o valores heurísticos de todos los nodos).
• Función h: es una estimación del coste adicional necesario para alcanzar un
nodo objetivo a partir del nodo actual, es decir, es una estimación de lo que
me queda por recorrer hasta la meta.
• La función combinada f una estimación del coste necesario para alcanzar un
estado objetivo por el camino que se ha seguido para generar el nodo actual
(si se puede generar por varios caminos el algoritmo se queda con el mejor).
NOTA: los nodos buenos deben poseer valores bajos
Búsqueda A*
(A Star)
• Usaremos dos listas de nodos (ABIERTA Y CERRADA)
• Abierta: nodos que se han generado y a los que se les ha aplicado la
función heurística, pero que aún no han sido examinados (es decir, no
se han generado sus sucesores). Es decir, es una cola con prioridad
en la que los elementos con mayor prioridad son aquellos que tienen
un valor más prometedor de la función heurística.
• Cerrada: nodos que ya se han examinado. Es necesaria para ver si
cuando se genera un nuevo nodo ya ha sido generado con
anterioridad.
Ejemplo
• Un sistema puede encontrarse en un conjunto de estados {S0, …., S8}.
Su estado inicial es S0 y los estados meta, S7y S8. Considérense los
siguientes operadores y costes asociados a cada operador:
OP1: S3→S8(coste 5) OP2: S2→S3(coste 25) OP3: S5→S3(coste 20)
OP4: S1→S2(coste 100) OP5: S4→S2(coste 80) OP6: S6→S7(coste 100)
OP7: S0→S1(coste 10) OP8: S0→S4(coste 10) OP9: S0→S5(coste 20)
OP10: S0→S6(coste 20)
• Considérense también los siguientes valores de la función heurística
h, que estima el menor coste desde cada nodo a un nodo meta:
h(S0) = 40 h(S3) = 10 h(S6) = 110
h(S1) = 20 h(S4) = 40 h(S7) = 0
h(S2) = 20 h(S5) = 100 h(S8) = 0
• Se tiene a S0 como nodo
inicial y a S1, S4, S5 y S6
como los nodos
directamente conectados
a el.
• Se agregan al recorrido
los nodos directamente
conectados a S0 junto
con sus costes (función
g(s) y con los valores de
la función heurística h(s).
• Se obtienen los valores
para la función f(s)
sumando los valores de
g(s) y h(s) que en este
caso serian: f(s1) =
30, f(s4) = 50, f(s5) = 120
y f(s6) = 130.
• El recorrido se continua
por el nodo cuya función
f(s) haya sido la menor.
En este caso es el nodo
S1 con función f(s) = 30.
• Se agregan los nodos
directamente conectados
a S1.
• El nodo agregado fue S2.
Se evalúa la función f(s)
que da como resultado
f(S2) = 120.
• Es necesario evaluar si
existe una mejor forma de
hacer el recorrido hasta el
nodo S2. para esto es
necesario saber si existen
otros nodos conectados
con S2, en este caso
existe uno el cual es S4.
• Se evalúa la función f(s)
para el recorrido desde
S4 hasta S2 calculando la
suma de g(s) + h(s). El
resultado de la operación
es 80 + 20 = f(S2) = 100.
• Se comprueba que el
recorrido entre S4 y S2
es mejor y se descarta el
recorrido de S1 a S2.
• Se agregan los nodos
directamente conectados
a S2. Para este caso se
tiene que S3 esta
directamente conectado.
• Se evalúa la función f(S3)
que resulta tener un valor
de 35.
• Como en el caso anterior
es necesario evaluar si
existen rutas alternas
para llegar a S3. Existe
una ruta que va desde S5
hasta S3.
• Se calcula el valor para
f(s) en el recorrido de S5
a S3. el resultado es f(S3)
= 30.
• Al existir una mejor ruta
para llegar a S3 se
descarta la que fue
anteriormente encontrada
y se sigue la nueva ruta.
• Se agregan los nodos
conectados a S3 y se
encuentra el nodo S8 el
cual es una meta con
valor h(S8) = 8 y cuyo
recorrido desde S3 da
como resultado 5 para la
función f(s).
• El algoritmo termina
cuando se encuentra una
meta. El coste total del
recorrido es de 20 + 20 +
5 = 45.
• El algoritmo termina
cuando se encuentra una
meta. El coste total del
recorrido es de 20 + 20 +
5 = 45.

Más contenido relacionado

La actualidad más candente

Algoritmo de dijkstra final
Algoritmo de dijkstra finalAlgoritmo de dijkstra final
Algoritmo de dijkstra finalsalomon
 
Ejercicios de búsqueda a Ciegas y Búsqueda informada
Ejercicios de búsqueda a Ciegas y Búsqueda informadaEjercicios de búsqueda a Ciegas y Búsqueda informada
Ejercicios de búsqueda a Ciegas y Búsqueda informada
Héctor Estigarribia
 
332 presentacion grafos
332 presentacion grafos332 presentacion grafos
332 presentacion grafos
Estudiantes Unamonagas
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
DĴäîřo Lêmä
 
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Eli Diaz
 
Busqueda Ascenso Colinas
Busqueda Ascenso ColinasBusqueda Ascenso Colinas
Busqueda Ascenso Colinas
JeffoG92
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacenciaFrank Doria
 
Reglas de producción
Reglas de producciónReglas de producción
Reglas de producciónsolesito1237
 
Tecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificialTecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificial
DamelysCarrillo2
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
Hugo Arturo Gonzalez Macias
 
Agentes basados en objetos utilidad
Agentes basados en objetos utilidadAgentes basados en objetos utilidad
Agentes basados en objetos utilidad
Jose Trinidad Gonzalez Godina
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Stavros Vassos
 
Algoritmo a
Algoritmo aAlgoritmo a
Algoritmo a
Mario Espinosa
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
NoraVelasquez4
 
Tipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialTipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialJuank Grifin
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busquedasacrilegetx
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
hitwinenze
 

La actualidad más candente (20)

Algoritmo de dijkstra final
Algoritmo de dijkstra finalAlgoritmo de dijkstra final
Algoritmo de dijkstra final
 
Ejercicios de búsqueda a Ciegas y Búsqueda informada
Ejercicios de búsqueda a Ciegas y Búsqueda informadaEjercicios de búsqueda a Ciegas y Búsqueda informada
Ejercicios de búsqueda a Ciegas y Búsqueda informada
 
Clase 2
Clase 2Clase 2
Clase 2
 
332 presentacion grafos
332 presentacion grafos332 presentacion grafos
332 presentacion grafos
 
Cap2 mod3(sol)
Cap2 mod3(sol)Cap2 mod3(sol)
Cap2 mod3(sol)
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
 
Busqueda Ascenso Colinas
Busqueda Ascenso ColinasBusqueda Ascenso Colinas
Busqueda Ascenso Colinas
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacencia
 
Reglas de producción
Reglas de producciónReglas de producción
Reglas de producción
 
Tecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificialTecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificial
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Agentes basados en objetos utilidad
Agentes basados en objetos utilidadAgentes basados en objetos utilidad
Agentes basados en objetos utilidad
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
 
Algoritmo a
Algoritmo aAlgoritmo a
Algoritmo a
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
 
Tipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia ArtificialTipos de búsqueda en Inteligencia Artificial
Tipos de búsqueda en Inteligencia Artificial
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busqueda
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 

Destacado

El algoritmo a (asterisco)
El algoritmo a (asterisco)El algoritmo a (asterisco)
El algoritmo a (asterisco)Cristina Lopez
 
Planeta web2.0 (resumen del capitulo 5)
Planeta web2.0 (resumen del capitulo 5)Planeta web2.0 (resumen del capitulo 5)
Planeta web2.0 (resumen del capitulo 5)varelabrian
 
Características de un algoritmo
Características de un algoritmoCaracterísticas de un algoritmo
Características de un algoritmoroxanaparra28
 
Cómo elaboro mi pregunta de investigación evaluación
Cómo elaboro mi pregunta de investigación evaluaciónCómo elaboro mi pregunta de investigación evaluación
Cómo elaboro mi pregunta de investigación evaluación
liliatorresfernandez
 
La pregunta de investigación
La pregunta de investigaciónLa pregunta de investigación
La pregunta de investigaciónCarlos Crespo
 

Destacado (7)

El algoritmo a (asterisco)
El algoritmo a (asterisco)El algoritmo a (asterisco)
El algoritmo a (asterisco)
 
Planeta web2.0 (resumen del capitulo 5)
Planeta web2.0 (resumen del capitulo 5)Planeta web2.0 (resumen del capitulo 5)
Planeta web2.0 (resumen del capitulo 5)
 
Ejercicios parcial1
Ejercicios parcial1Ejercicios parcial1
Ejercicios parcial1
 
G5 oscilaciones
G5 oscilacionesG5 oscilaciones
G5 oscilaciones
 
Características de un algoritmo
Características de un algoritmoCaracterísticas de un algoritmo
Características de un algoritmo
 
Cómo elaboro mi pregunta de investigación evaluación
Cómo elaboro mi pregunta de investigación evaluaciónCómo elaboro mi pregunta de investigación evaluación
Cómo elaboro mi pregunta de investigación evaluación
 
La pregunta de investigación
La pregunta de investigaciónLa pregunta de investigación
La pregunta de investigación
 

Similar a Búsqueda A*

Introducción a la Inteligencia Artificial_2007.ppt
Introducción a la Inteligencia Artificial_2007.pptIntroducción a la Inteligencia Artificial_2007.ppt
Introducción a la Inteligencia Artificial_2007.ppt
pedro montilla
 
Algoritmo a*
Algoritmo a*Algoritmo a*
Algoritmo a*
Mario Espinosa
 
2 ldr
2 ldr2 ldr
2 ldrUNEFA
 
Clase 11.2 mbe funcion lineal y cuadratica
Clase 11.2 mbe funcion lineal y cuadraticaClase 11.2 mbe funcion lineal y cuadratica
Clase 11.2 mbe funcion lineal y cuadratica
luis jimenez
 
Ejercicios pilas y_colas
Ejercicios pilas y_colasEjercicios pilas y_colas
Ejercicios pilas y_colaskelvinst
 
Optimizacion-Combinatoria y Grafos
Optimizacion-Combinatoria y GrafosOptimizacion-Combinatoria y Grafos
Optimizacion-Combinatoria y GrafosESPOL
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
Maestros en Linea
 
Enunciado 2 actividad grupal c
Enunciado 2 actividad grupal cEnunciado 2 actividad grupal c
Enunciado 2 actividad grupal c
ggaitano
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
Jose Andres
 
Grafos 0
Grafos 0Grafos 0
Grafos 0
brisarosales
 
Lugar geomtrico de las raices
Lugar geomtrico de las raicesLugar geomtrico de las raices
Lugar geomtrico de las raices
Arnold Huaman
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
Tensor
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
Spimy
 
Ingenieria de-control-febrero-2012
Ingenieria de-control-febrero-2012Ingenieria de-control-febrero-2012
Ingenieria de-control-febrero-2012
Gerardo Llanas
 
Heap sort2
Heap sort2Heap sort2
Heap sort2
Wili Cjuro
 
Heap sort
Heap sortHeap sort
Heap sort
Wili Cjuro
 
Actividad3.5 equipo4completa
Actividad3.5 equipo4completaActividad3.5 equipo4completa
Actividad3.5 equipo4completa
viovazquez1780
 
Actividad 3.5 equipo 4 método simplex
Actividad 3.5 equipo 4 método simplexActividad 3.5 equipo 4 método simplex
Actividad 3.5 equipo 4 método simplex
Ana Laura Vazquez Ramirez
 

Similar a Búsqueda A* (20)

Introducción a la Inteligencia Artificial_2007.ppt
Introducción a la Inteligencia Artificial_2007.pptIntroducción a la Inteligencia Artificial_2007.ppt
Introducción a la Inteligencia Artificial_2007.ppt
 
IA CAPITULO 4
IA  CAPITULO 4IA  CAPITULO 4
IA CAPITULO 4
 
Algoritmo a*
Algoritmo a*Algoritmo a*
Algoritmo a*
 
2 ldr
2 ldr2 ldr
2 ldr
 
Clase 11.2 mbe funcion lineal y cuadratica
Clase 11.2 mbe funcion lineal y cuadraticaClase 11.2 mbe funcion lineal y cuadratica
Clase 11.2 mbe funcion lineal y cuadratica
 
Ejercicios pilas y_colas
Ejercicios pilas y_colasEjercicios pilas y_colas
Ejercicios pilas y_colas
 
Optimizacion-Combinatoria y Grafos
Optimizacion-Combinatoria y GrafosOptimizacion-Combinatoria y Grafos
Optimizacion-Combinatoria y Grafos
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Enunciado 2 actividad grupal c
Enunciado 2 actividad grupal cEnunciado 2 actividad grupal c
Enunciado 2 actividad grupal c
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
 
Grafos 0
Grafos 0Grafos 0
Grafos 0
 
Lugar geomtrico de las raices
Lugar geomtrico de las raicesLugar geomtrico de las raices
Lugar geomtrico de las raices
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
 
Ingenieria de-control-febrero-2012
Ingenieria de-control-febrero-2012Ingenieria de-control-febrero-2012
Ingenieria de-control-febrero-2012
 
Heap sort2
Heap sort2Heap sort2
Heap sort2
 
Heap sort
Heap sortHeap sort
Heap sort
 
Actividad3.5 equipo4completa
Actividad3.5 equipo4completaActividad3.5 equipo4completa
Actividad3.5 equipo4completa
 
Actividad 3.5 equipo 4 método simplex
Actividad 3.5 equipo 4 método simplexActividad 3.5 equipo 4 método simplex
Actividad 3.5 equipo 4 método simplex
 

Búsqueda A*

  • 1.
  • 2. Búsqueda A* (A Star) Algoritmo: 1.Crear una lista con el nodo raíz. 2.Hasta que la lista esté vacía o sea alcance la meta: Si el primer elemento es la meta, ir al paso 3. Sino, eliminar el primer elemento de la lista y agregar sus hijos sumando g + h(heurística 1). Ordenar los elementos de acuerdo al costo y eliminar los repetidos de costo mayor (heurística 2). 3.Expandir todos los nodos con costo menor que el nodo meta.
  • 3. Búsqueda A* (A Star) • Definiremos una función heurística f como la suma de dos funciones g y h: • Función g: es una medida del coste para ir desde el estado inicial hasta el nodo actual (suma de los costes o valores heurísticos de todos los nodos). • Función h: es una estimación del coste adicional necesario para alcanzar un nodo objetivo a partir del nodo actual, es decir, es una estimación de lo que me queda por recorrer hasta la meta. • La función combinada f una estimación del coste necesario para alcanzar un estado objetivo por el camino que se ha seguido para generar el nodo actual (si se puede generar por varios caminos el algoritmo se queda con el mejor). NOTA: los nodos buenos deben poseer valores bajos
  • 4. Búsqueda A* (A Star) • Usaremos dos listas de nodos (ABIERTA Y CERRADA) • Abierta: nodos que se han generado y a los que se les ha aplicado la función heurística, pero que aún no han sido examinados (es decir, no se han generado sus sucesores). Es decir, es una cola con prioridad en la que los elementos con mayor prioridad son aquellos que tienen un valor más prometedor de la función heurística. • Cerrada: nodos que ya se han examinado. Es necesaria para ver si cuando se genera un nuevo nodo ya ha sido generado con anterioridad.
  • 5. Ejemplo • Un sistema puede encontrarse en un conjunto de estados {S0, …., S8}. Su estado inicial es S0 y los estados meta, S7y S8. Considérense los siguientes operadores y costes asociados a cada operador: OP1: S3→S8(coste 5) OP2: S2→S3(coste 25) OP3: S5→S3(coste 20) OP4: S1→S2(coste 100) OP5: S4→S2(coste 80) OP6: S6→S7(coste 100) OP7: S0→S1(coste 10) OP8: S0→S4(coste 10) OP9: S0→S5(coste 20) OP10: S0→S6(coste 20) • Considérense también los siguientes valores de la función heurística h, que estima el menor coste desde cada nodo a un nodo meta: h(S0) = 40 h(S3) = 10 h(S6) = 110 h(S1) = 20 h(S4) = 40 h(S7) = 0 h(S2) = 20 h(S5) = 100 h(S8) = 0
  • 6. • Se tiene a S0 como nodo inicial y a S1, S4, S5 y S6 como los nodos directamente conectados a el.
  • 7. • Se agregan al recorrido los nodos directamente conectados a S0 junto con sus costes (función g(s) y con los valores de la función heurística h(s). • Se obtienen los valores para la función f(s) sumando los valores de g(s) y h(s) que en este caso serian: f(s1) = 30, f(s4) = 50, f(s5) = 120 y f(s6) = 130.
  • 8. • El recorrido se continua por el nodo cuya función f(s) haya sido la menor. En este caso es el nodo S1 con función f(s) = 30. • Se agregan los nodos directamente conectados a S1. • El nodo agregado fue S2. Se evalúa la función f(s) que da como resultado f(S2) = 120.
  • 9. • Es necesario evaluar si existe una mejor forma de hacer el recorrido hasta el nodo S2. para esto es necesario saber si existen otros nodos conectados con S2, en este caso existe uno el cual es S4. • Se evalúa la función f(s) para el recorrido desde S4 hasta S2 calculando la suma de g(s) + h(s). El resultado de la operación es 80 + 20 = f(S2) = 100.
  • 10. • Se comprueba que el recorrido entre S4 y S2 es mejor y se descarta el recorrido de S1 a S2. • Se agregan los nodos directamente conectados a S2. Para este caso se tiene que S3 esta directamente conectado. • Se evalúa la función f(S3) que resulta tener un valor de 35.
  • 11. • Como en el caso anterior es necesario evaluar si existen rutas alternas para llegar a S3. Existe una ruta que va desde S5 hasta S3. • Se calcula el valor para f(s) en el recorrido de S5 a S3. el resultado es f(S3) = 30.
  • 12. • Al existir una mejor ruta para llegar a S3 se descarta la que fue anteriormente encontrada y se sigue la nueva ruta. • Se agregan los nodos conectados a S3 y se encuentra el nodo S8 el cual es una meta con valor h(S8) = 8 y cuyo recorrido desde S3 da como resultado 5 para la función f(s). • El algoritmo termina cuando se encuentra una meta. El coste total del recorrido es de 20 + 20 + 5 = 45.
  • 13. • El algoritmo termina cuando se encuentra una meta. El coste total del recorrido es de 20 + 20 + 5 = 45.