SlideShare una empresa de Scribd logo
BACKTRACKING
ANTONIO CANTILLO
Que es ?
• Es una técnica algorítmica que consiste en la resolución de
problemas mediante la búsqueda sistemática de soluciones
exhaustivas. Comúnmente, esta técnica hace uso de la
recursividad, y es importante que domines la implementación de
las llamadas recursivas con destreza antes de continuar
¿Cómo trabaja?
• El procedimiento general se basa en la descomposición de la tarea a
realizar en su tareas o soluciones parciales. El método proporciona una
manera sistemática de generar todas las posibles soluciones, La
descripción natural del proceso se representa mediante un árbol de
búsqueda en el que se muestra como cada tarea se descompone o se
ramifica en su tareas
EJEMPLO
• Considerando el conjunto {1, 2, 3}, encontrar todos los subconjuntos que
entre sus elementos sumen 4. Tomando en cuenta el orden de los
elementos; es decir, el subconjunto {1, 3} será distinto de {3, 1}.
Alternativas: 1, 2 y 3
Subtarea: suma
acumulativa
Solución: suma
igual a 4
El recorrido se construye eligiendo una alternativa del conjunto de
opciones disponibles de cada subtarea del proceso, por cada subtarea
se verifica si cumple con la solución del problema; si se encuentra una
alternativa incorrecta, la búsqueda retrocede hasta el paso anterior y
toma la siguiente alternativa. Cuando se han terminado las
posibilidades, se vuelve a la elección anterior y se toma la siguiente
opción. Si no hay más alternativas la búsqueda falla.
BACKTRACKING RECURSIVO E
ITERATIVO
• La resolución de cada subtarea es similar a la resolución de la tarea
padre, por ello, es común que para implementar algoritmos con
BACKTRACKING se hace uso de las funciones recursivas, en cada llamada
a la función se asigna diferentes valores, probando todos los valores
posibles, y manteniendo aquella que haya tenido éxito en las anteriores
llamadas recursivas.
TIPOS DE BACKTRACKING
• En el esquema general el backtracking encuentra una única
solución, independientemente de que hubiesen más, pero existen
variantes del esquema que ofrecen más posibilidades a la hora de buscar
soluciones.
LA PRIMERA SOLUCIÓN
• Este es el esquema general, donde el algoritmo se detiene y se devuelve
al momento de encontrar la primera solución, sin considerar el resto de
las ramas del árbol de exploración, ni siquiera que la que ha conseguido
no sea la mejor. El siguiente “pseudocódigo” muestra una plantilla del
esquema general.
TODAS LAS SOLUCIONES
• Explora todo el espacio de búsqueda para obtener el conjunto de todas las
soluciones que satisfacen el problema. Cada vez que se encuentre con una
solución completa, la guarda en una estructura de datos y continúa el
recorrido hasta que no queden más posibilidades por explorar. El esquema
general se puede modificar para que adopte esta variante.
LA MEJOR SOLUCIÓN
• Procesa todo el espacio de búsqueda, similar a la anterior, a diferencia en
que a medida que se van obteniendo nuevas soluciones se compararan
con la mejor que se tenía hasta los momentos, y de ser mejor se queda
con la nueva
http://www.widget-101.com/codigo/backtracking-recursivo/

Más contenido relacionado

La actualidad más candente

Grafos
GrafosGrafos
Busqueda por profundidad iterativa
Busqueda por profundidad iterativaBusqueda por profundidad iterativa
Busqueda por profundidad iterativa
Israel Calderón de la Cruz
 
algoritmos distribuidos
algoritmos distribuidosalgoritmos distribuidos
algoritmos distribuidos
Yesica Huallpa Laguna
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
José Antonio Sandoval Acosta
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Backtracking
BacktrackingBacktracking
Backtracking
cristian torres
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
Anel Sosa
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
emiru48
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
Juan Timoteo Cori
 
Recursividad
RecursividadRecursividad
Recursividad
Lester Sanchez
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
Alvaro Enrique Ruano
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo
Carlos Criollo
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructurado
Jorge Garcia
 
Recursividad
RecursividadRecursividad
Recursividad
TAtiizz Villalobos
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
Lalo Chooper
 
practicas dfd
practicas dfdpracticas dfd
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
Lutzo Guzmán
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
guestefc95b
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
luzenith_g
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
tephyfree
 

La actualidad más candente (20)

Grafos
GrafosGrafos
Grafos
 
Busqueda por profundidad iterativa
Busqueda por profundidad iterativaBusqueda por profundidad iterativa
Busqueda por profundidad iterativa
 
algoritmos distribuidos
algoritmos distribuidosalgoritmos distribuidos
algoritmos distribuidos
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Backtracking
BacktrackingBacktracking
Backtracking
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
Recursividad
RecursividadRecursividad
Recursividad
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo
 
Español estructurado
Español estructuradoEspañol estructurado
Español estructurado
 
Recursividad
RecursividadRecursividad
Recursividad
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
practicas dfd
practicas dfdpracticas dfd
practicas dfd
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 

Destacado

Baterias para buses electricos: Caracteristicas, riesgos y ventajas
Baterias para buses electricos: Caracteristicas, riesgos y ventajasBaterias para buses electricos: Caracteristicas, riesgos y ventajas
Baterias para buses electricos: Caracteristicas, riesgos y ventajas
Hippie Misteriosa
 
Autores frank y mark
Autores frank y markAutores frank y mark
Autores frank y mark
Mujer:Salud,mejorvidayhogar.
 
Recursos renovalbles
Recursos renovalblesRecursos renovalbles
Recursos renovalbles
Karen Daniela Bejarano Agudelo
 
Diapositivas proyecto
Diapositivas proyectoDiapositivas proyecto
Diapositivas proyecto
JudithMejia01
 
Franquicia venta online
Franquicia venta onlineFranquicia venta online
Franquicia venta online
BerthaArmijos
 
Competencia perfecta
Competencia perfectaCompetencia perfecta
Competencia perfectaDavid Molina
 
Pat final
Pat finalPat final
Pat final
piliucam
 
1. marco conceptual reese jun 2013
1. marco conceptual   reese jun 20131. marco conceptual   reese jun 2013
1. marco conceptual reese jun 2013
unsamdigital
 
Stefaanii
StefaaniiStefaanii
10 andrea tutorial 1
10 andrea tutorial 110 andrea tutorial 1
10 andrea tutorial 1
Andrea_Fm
 
Tutorias ana
Tutorias anaTutorias ana
Tutorias ana
piliucam
 
Aprendizaje colaborativo
Aprendizaje colaborativoAprendizaje colaborativo
Aprendizaje colaborativo
Kary D'Aguiilar
 
Pp spss 4.2
Pp spss 4.2Pp spss 4.2
Pp spss 4.2
montseldr
 
Como subir un video a blogger
Como subir un video a bloggerComo subir un video a blogger
Como subir un video a bloggermane12341234
 
Presentation10
Presentation10Presentation10
Presentation10
montseldr
 
Mesopotamia
MesopotamiaMesopotamia
Mesopotamia
CamiLa GarCia
 
Mapa mental contrato incapacidad.-derecho romano-24-10-15.
Mapa mental contrato incapacidad.-derecho romano-24-10-15.Mapa mental contrato incapacidad.-derecho romano-24-10-15.
Mapa mental contrato incapacidad.-derecho romano-24-10-15.
Ministerio de energía electrica
 
Culturas preincas2
Culturas preincas2Culturas preincas2
Culturas preincas2
andersonrodriguechunga
 
Abstracción relación entre tiempo y espacio
Abstracción relación entre tiempo y espacioAbstracción relación entre tiempo y espacio
Abstracción relación entre tiempo y espacio
CamiLa GarCia
 
Fundamentos de la educacion
Fundamentos de la educacionFundamentos de la educacion
Fundamentos de la educacion
Leidy Castrillon
 

Destacado (20)

Baterias para buses electricos: Caracteristicas, riesgos y ventajas
Baterias para buses electricos: Caracteristicas, riesgos y ventajasBaterias para buses electricos: Caracteristicas, riesgos y ventajas
Baterias para buses electricos: Caracteristicas, riesgos y ventajas
 
Autores frank y mark
Autores frank y markAutores frank y mark
Autores frank y mark
 
Recursos renovalbles
Recursos renovalblesRecursos renovalbles
Recursos renovalbles
 
Diapositivas proyecto
Diapositivas proyectoDiapositivas proyecto
Diapositivas proyecto
 
Franquicia venta online
Franquicia venta onlineFranquicia venta online
Franquicia venta online
 
Competencia perfecta
Competencia perfectaCompetencia perfecta
Competencia perfecta
 
Pat final
Pat finalPat final
Pat final
 
1. marco conceptual reese jun 2013
1. marco conceptual   reese jun 20131. marco conceptual   reese jun 2013
1. marco conceptual reese jun 2013
 
Stefaanii
StefaaniiStefaanii
Stefaanii
 
10 andrea tutorial 1
10 andrea tutorial 110 andrea tutorial 1
10 andrea tutorial 1
 
Tutorias ana
Tutorias anaTutorias ana
Tutorias ana
 
Aprendizaje colaborativo
Aprendizaje colaborativoAprendizaje colaborativo
Aprendizaje colaborativo
 
Pp spss 4.2
Pp spss 4.2Pp spss 4.2
Pp spss 4.2
 
Como subir un video a blogger
Como subir un video a bloggerComo subir un video a blogger
Como subir un video a blogger
 
Presentation10
Presentation10Presentation10
Presentation10
 
Mesopotamia
MesopotamiaMesopotamia
Mesopotamia
 
Mapa mental contrato incapacidad.-derecho romano-24-10-15.
Mapa mental contrato incapacidad.-derecho romano-24-10-15.Mapa mental contrato incapacidad.-derecho romano-24-10-15.
Mapa mental contrato incapacidad.-derecho romano-24-10-15.
 
Culturas preincas2
Culturas preincas2Culturas preincas2
Culturas preincas2
 
Abstracción relación entre tiempo y espacio
Abstracción relación entre tiempo y espacioAbstracción relación entre tiempo y espacio
Abstracción relación entre tiempo y espacio
 
Fundamentos de la educacion
Fundamentos de la educacionFundamentos de la educacion
Fundamentos de la educacion
 

Similar a Backtracking

Busqueda por backtracking
Busqueda por backtrackingBusqueda por backtracking
Busqueda por backtracking
Cesar Mujica
 
3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx
Fernando Solis
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
Wilmer Quintero
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
Wilmer Quintero
 
Daniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosiiDaniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosii
DanielaMendoza117
 
TECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMASTECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMAS
Fernando Solis
 
Backtracking
BacktrackingBacktracking
Backtracking
Omar Daza
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
Fernando Solis
 
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
lszsaltarenzapata
 
Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2
OmarAzuaje3
 
No regresan valor c3. p3.
No regresan valor c3. p3.No regresan valor c3. p3.
No regresan valor c3. p3.
DENIRAMIREZANDRADE
 
Backtracking
BacktrackingBacktracking
Backtracking
Fernando Solis
 
No regresan valor c3. p3.
No regresan valor  c3. p3.No regresan valor  c3. p3.
No regresan valor c3. p3.
DENIRAMIREZANDRADE
 
3401667.ppt
3401667.ppt3401667.ppt
3401667.ppt
carlosPEREZMENDEZ2
 
No regresan valor c3. p3.
No regresan valor  c3. p3.No regresan valor  c3. p3.
No regresan valor c3. p3.
DENIRAMIREZANDRADE
 
No regresan valor c2. p3.
No regresan valor c2. p3.No regresan valor c2. p3.
No regresan valor c2. p3.
DENIRAMIREZANDRADE
 
Analisis y diseño de algoritmo
Analisis y diseño de algoritmoAnalisis y diseño de algoritmo
Analisis y diseño de algoritmo
Jose Lluberes
 
Teoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivasTeoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivas
manuelrivasv95
 
optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero
vaneeromero
 
Articulo tecnicas metaheuristicas
Articulo tecnicas metaheuristicasArticulo tecnicas metaheuristicas
Articulo tecnicas metaheuristicas
Andrés De La Torre
 

Similar a Backtracking (20)

Busqueda por backtracking
Busqueda por backtrackingBusqueda por backtracking
Busqueda por backtracking
 
3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
 
Daniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosiiDaniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosii
 
TECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMASTECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMAS
 
Backtracking
BacktrackingBacktracking
Backtracking
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
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
 
Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2Algoritmos por-omor-azuaje2
Algoritmos por-omor-azuaje2
 
No regresan valor c3. p3.
No regresan valor c3. p3.No regresan valor c3. p3.
No regresan valor c3. p3.
 
Backtracking
BacktrackingBacktracking
Backtracking
 
No regresan valor c3. p3.
No regresan valor  c3. p3.No regresan valor  c3. p3.
No regresan valor c3. p3.
 
3401667.ppt
3401667.ppt3401667.ppt
3401667.ppt
 
No regresan valor c3. p3.
No regresan valor  c3. p3.No regresan valor  c3. p3.
No regresan valor c3. p3.
 
No regresan valor c2. p3.
No regresan valor c2. p3.No regresan valor c2. p3.
No regresan valor c2. p3.
 
Analisis y diseño de algoritmo
Analisis y diseño de algoritmoAnalisis y diseño de algoritmo
Analisis y diseño de algoritmo
 
Teoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivasTeoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivas
 
optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero optimizacion de sistemas vanessa romero
optimizacion de sistemas vanessa romero
 
Articulo tecnicas metaheuristicas
Articulo tecnicas metaheuristicasArticulo tecnicas metaheuristicas
Articulo tecnicas metaheuristicas
 

Backtracking

  • 2. Que es ? • Es una técnica algorítmica que consiste en la resolución de problemas mediante la búsqueda sistemática de soluciones exhaustivas. Comúnmente, esta técnica hace uso de la recursividad, y es importante que domines la implementación de las llamadas recursivas con destreza antes de continuar
  • 3. ¿Cómo trabaja? • El procedimiento general se basa en la descomposición de la tarea a realizar en su tareas o soluciones parciales. El método proporciona una manera sistemática de generar todas las posibles soluciones, La descripción natural del proceso se representa mediante un árbol de búsqueda en el que se muestra como cada tarea se descompone o se ramifica en su tareas
  • 4. EJEMPLO • Considerando el conjunto {1, 2, 3}, encontrar todos los subconjuntos que entre sus elementos sumen 4. Tomando en cuenta el orden de los elementos; es decir, el subconjunto {1, 3} será distinto de {3, 1}. Alternativas: 1, 2 y 3 Subtarea: suma acumulativa Solución: suma igual a 4
  • 5. El recorrido se construye eligiendo una alternativa del conjunto de opciones disponibles de cada subtarea del proceso, por cada subtarea se verifica si cumple con la solución del problema; si se encuentra una alternativa incorrecta, la búsqueda retrocede hasta el paso anterior y toma la siguiente alternativa. Cuando se han terminado las posibilidades, se vuelve a la elección anterior y se toma la siguiente opción. Si no hay más alternativas la búsqueda falla.
  • 6. BACKTRACKING RECURSIVO E ITERATIVO • La resolución de cada subtarea es similar a la resolución de la tarea padre, por ello, es común que para implementar algoritmos con BACKTRACKING se hace uso de las funciones recursivas, en cada llamada a la función se asigna diferentes valores, probando todos los valores posibles, y manteniendo aquella que haya tenido éxito en las anteriores llamadas recursivas.
  • 7. TIPOS DE BACKTRACKING • En el esquema general el backtracking encuentra una única solución, independientemente de que hubiesen más, pero existen variantes del esquema que ofrecen más posibilidades a la hora de buscar soluciones.
  • 8. LA PRIMERA SOLUCIÓN • Este es el esquema general, donde el algoritmo se detiene y se devuelve al momento de encontrar la primera solución, sin considerar el resto de las ramas del árbol de exploración, ni siquiera que la que ha conseguido no sea la mejor. El siguiente “pseudocódigo” muestra una plantilla del esquema general.
  • 9.
  • 10. TODAS LAS SOLUCIONES • Explora todo el espacio de búsqueda para obtener el conjunto de todas las soluciones que satisfacen el problema. Cada vez que se encuentre con una solución completa, la guarda en una estructura de datos y continúa el recorrido hasta que no queden más posibilidades por explorar. El esquema general se puede modificar para que adopte esta variante.
  • 11.
  • 12. LA MEJOR SOLUCIÓN • Procesa todo el espacio de búsqueda, similar a la anterior, a diferencia en que a medida que se van obteniendo nuevas soluciones se compararan con la mejor que se tenía hasta los momentos, y de ser mejor se queda con la nueva