SlideShare una empresa de Scribd logo
1 de 9
 El backtracking es una estrategia usada para
encontrar soluciones a problemas que tienen
una solución completa, en los que el orden de
los elementos no importa, y en los que existen
una serie de variables a cada una de las cuales
 Backtracking (o búsqueda atrás) es una
técnica de programación para hacer
búsqueda sistemática a través de todas las
configuraciones posibles dentro de un
espacio de búsqueda.
 La técnica Backtracking es un método
de búsqueda de soluciones exhaustiva
sobre grafos dirigidos acíclicos, el cual se
acelera mediante poda de ramas poco
prometedoras.
Para lograr esto, los algoritmos de tipo
backtracking construyen posibles soluciones
candidatas de manera sistemática.
En general, dado una solución candidata s :
1. Verifican si s es solución. Si lo es, hacen algo
con ella (depende del problema).
2. Construyen todas las posibles extensiones
de s, e invocan recursivamente al algoritmo
con todas ellas.
 Representación de la solución en una tupla (X1; : : : ; Xn).
 Una función objetivo para determinar si la tupla a analizar es una
solución.
 Unas restricciones a los candidatos para rellenar la tupla:
 Implícitas del problema. Valores que puede tomar cada valor Xi
 Explícitas o externas al problema. Por ejemplo, problema mochila, el
peso no debe superar la capacidad de la mochila.
 Una función de poda para eliminar partes del árbol de Búsqueda
 Organización del problema en un árbol de búsqueda
funcion BACKTRACKING_REC ( k , solucion[n])
para j2Si
si ( PODA (k , j , solucion) == true )
hacer
sol[k]= j
si ( TEST_SOL (solucion) == true ) hacer
devolver solucion
si ( k < n )
BACKTRACKING_REC(k+1,solucion[n])
 La técnica de Backtracking es usada en
muchos ámbitos de la programación, por
ejemplo, para el cálculo de expresiones
regulares o para tareas de reconocimiento
de texto y de sintaxis de lenguajes regulares.
 También es usado incluso en la
implementación de algunos lenguajes de
programación,
Backtracking técnica búsqueda soluciones

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Backtracking
BacktrackingBacktracking
Backtracking
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmojulio
AlgoritmojulioAlgoritmojulio
Algoritmojulio
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad 7 análisis de los algoritmos
Unidad 7 análisis de los algoritmosUnidad 7 análisis de los algoritmos
Unidad 7 análisis de los algoritmos
 
La Torre de Hanoi Monografía vanessa mayo 2010
La Torre de Hanoi  Monografía  vanessa mayo 2010La Torre de Hanoi  Monografía  vanessa mayo 2010
La Torre de Hanoi Monografía vanessa mayo 2010
 
Algoritmos exposición
Algoritmos exposiciónAlgoritmos exposición
Algoritmos exposición
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo a
Algoritmo aAlgoritmo a
Algoritmo a
 
Complejidad de algoritmos
Complejidad de algoritmos Complejidad de algoritmos
Complejidad de algoritmos
 
Analisis de algoritmos - Introduccion
Analisis de algoritmos - IntroduccionAnalisis de algoritmos - Introduccion
Analisis de algoritmos - Introduccion
 
Manual users algoritmos
Manual users   algoritmosManual users   algoritmos
Manual users algoritmos
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Recursividad
RecursividadRecursividad
Recursividad
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Similar a Backtracking técnica búsqueda soluciones

Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtrackingWilmer Quintero
 
Slideshare nelson rodriguez
Slideshare nelson rodriguezSlideshare nelson rodriguez
Slideshare nelson rodrigueznelro038
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Spimy
 
3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptxFernando Solis
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicagenesisptc_
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamicaRuben Gonzalez
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaKimLinares
 
Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2OmarAzuaje3
 
Kuhn tucker
Kuhn tucker Kuhn tucker
Kuhn tucker maryolith
 
Bac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenBac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenlszsaltarenzapata
 
Optimización de sistemas y funciones
Optimización de sistemas y funcionesOptimización de sistemas y funciones
Optimización de sistemas y funcionesAnni Pineda
 
TRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNAD
TRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNADTRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNAD
TRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNADatristanchor
 

Similar a Backtracking técnica búsqueda soluciones (20)

Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
 
Normalmente.docx
Normalmente.docxNormalmente.docx
Normalmente.docx
 
Slideshare nelson rodriguez
Slideshare nelson rodriguezSlideshare nelson rodriguez
Slideshare nelson rodriguez
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
 
3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx
 
Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)
 
Optimizacion Diusty Mijares
Optimizacion Diusty MijaresOptimizacion Diusty Mijares
Optimizacion Diusty Mijares
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Resumen de algoritmo
Resumen de algoritmoResumen de algoritmo
Resumen de algoritmo
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2
 
Kuhn tucker
Kuhn tucker Kuhn tucker
Kuhn tucker
 
03.problemas
03.problemas03.problemas
03.problemas
 
Bac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenBac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltaren
 
Optimización de sistemas y funciones
Optimización de sistemas y funcionesOptimización de sistemas y funciones
Optimización de sistemas y funciones
 
Informe
InformeInforme
Informe
 
TRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNAD
TRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNADTRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNAD
TRABAJO COLABORATIVO 2 ALGEBRA LINEAL UNAD
 
Enfoques
EnfoquesEnfoques
Enfoques
 
Semana12
Semana12Semana12
Semana12
 

Backtracking técnica búsqueda soluciones

  • 1.
  • 2.  El backtracking es una estrategia usada para encontrar soluciones a problemas que tienen una solución completa, en los que el orden de los elementos no importa, y en los que existen una serie de variables a cada una de las cuales
  • 3.  Backtracking (o búsqueda atrás) es una técnica de programación para hacer búsqueda sistemática a través de todas las configuraciones posibles dentro de un espacio de búsqueda.
  • 4.  La técnica Backtracking es un método de búsqueda de soluciones exhaustiva sobre grafos dirigidos acíclicos, el cual se acelera mediante poda de ramas poco prometedoras.
  • 5. Para lograr esto, los algoritmos de tipo backtracking construyen posibles soluciones candidatas de manera sistemática. En general, dado una solución candidata s : 1. Verifican si s es solución. Si lo es, hacen algo con ella (depende del problema). 2. Construyen todas las posibles extensiones de s, e invocan recursivamente al algoritmo con todas ellas.
  • 6.  Representación de la solución en una tupla (X1; : : : ; Xn).  Una función objetivo para determinar si la tupla a analizar es una solución.  Unas restricciones a los candidatos para rellenar la tupla:  Implícitas del problema. Valores que puede tomar cada valor Xi  Explícitas o externas al problema. Por ejemplo, problema mochila, el peso no debe superar la capacidad de la mochila.  Una función de poda para eliminar partes del árbol de Búsqueda  Organización del problema en un árbol de búsqueda
  • 7. funcion BACKTRACKING_REC ( k , solucion[n]) para j2Si si ( PODA (k , j , solucion) == true ) hacer sol[k]= j si ( TEST_SOL (solucion) == true ) hacer devolver solucion si ( k < n ) BACKTRACKING_REC(k+1,solucion[n])
  • 8.  La técnica de Backtracking es usada en muchos ámbitos de la programación, por ejemplo, para el cálculo de expresiones regulares o para tareas de reconocimiento de texto y de sintaxis de lenguajes regulares.  También es usado incluso en la implementación de algunos lenguajes de programación,