SlideShare una empresa de Scribd logo
1 de 13
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

Busquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas CiegasBusquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas Ciegasluisilva18
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccionalLaura Del Pino Díaz
 
Ascenso a la Colina
Ascenso a la ColinaAscenso a la Colina
Ascenso a la ColinaTutor4uDev
 
Busquedas a Heuristicas
Busquedas a HeuristicasBusquedas a Heuristicas
Busquedas a HeuristicasBryan Coronel
 
AI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptxAI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptxAsst.prof M.Gokilavani
 
Busqueda Ascenso Colinas
Busqueda Ascenso ColinasBusqueda Ascenso Colinas
Busqueda Ascenso ColinasJeffoG92
 
Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...Navin Kumar
 
Cuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en iaCuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en iayorlys oropeza
 
Búsqueda en Anchura
Búsqueda en AnchuraBúsqueda en Anchura
Búsqueda en AnchuraTutor4uDev
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial IntelligenceJay Nagar
 

La actualidad más candente (20)

Busquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas CiegasBusquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas Ciegas
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccional
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Busqueda por profundidad iterativa
Busqueda por profundidad iterativaBusqueda por profundidad iterativa
Busqueda por profundidad iterativa
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Ascenso a la Colina
Ascenso a la ColinaAscenso a la Colina
Ascenso a la Colina
 
IA CAPITULO 4
IA  CAPITULO 4IA  CAPITULO 4
IA CAPITULO 4
 
Busquedas a Heuristicas
Busquedas a HeuristicasBusquedas a Heuristicas
Busquedas a Heuristicas
 
AI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptxAI_Session 7 Greedy Best first search algorithm.pptx
AI_Session 7 Greedy Best first search algorithm.pptx
 
A* Algorithm
A* AlgorithmA* Algorithm
A* Algorithm
 
Busqueda Ascenso Colinas
Busqueda Ascenso ColinasBusqueda Ascenso Colinas
Busqueda Ascenso Colinas
 
Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...
 
Grafos
GrafosGrafos
Grafos
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Cuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en iaCuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en ia
 
A Star Search
A Star SearchA Star Search
A Star Search
 
Búsqueda en Anchura
Búsqueda en AnchuraBúsqueda en Anchura
Búsqueda en Anchura
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Tercera practica
Tercera practicaTercera practica
Tercera practica
 

Destacado

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 artificialHenry Cambal
 
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ónliliatorresfernandez
 
La pregunta de investigación
La pregunta de investigaciónLa pregunta de investigación
La pregunta de investigaciónCarlos Crespo
 

Destacado (7)

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
 
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.pptpedro montilla
 
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 cuadraticaluis jimenez
 
Algoritmo de dijkstra final
Algoritmo de dijkstra finalAlgoritmo de dijkstra final
Algoritmo de dijkstra finalsalomon
 
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 avanzadaMaestros en Linea
 
Enunciado 2 actividad grupal c
Enunciado 2 actividad grupal cEnunciado 2 actividad grupal c
Enunciado 2 actividad grupal cggaitano
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BJose Andres
 
Lugar geomtrico de las raices
Lugar geomtrico de las raicesLugar geomtrico de las raices
Lugar geomtrico de las raicesArnold Huaman
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
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-2012Gerardo Llanas
 
Actividad3.5 equipo4completa
Actividad3.5 equipo4completaActividad3.5 equipo4completa
Actividad3.5 equipo4completaviovazquez1780
 

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
 
Algoritmo a
Algoritmo aAlgoritmo a
Algoritmo a
 
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
 
Algoritmo de dijkstra final
Algoritmo de dijkstra finalAlgoritmo de dijkstra final
Algoritmo de dijkstra final
 
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 sort
Heap sortHeap sort
Heap sort
 
Heap sort2
Heap sort2Heap sort2
Heap sort2
 
Actividad3.5 equipo4completa
Actividad3.5 equipo4completaActividad3.5 equipo4completa
Actividad3.5 equipo4completa
 

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.