BACKTRACKINGANTONIO CANTILLO
Que es ?• Es una técnica algorítmica que consiste en la resolución deproblemas mediante la búsqueda sistemática de solucio...
¿Cómo trabaja?• El procedimiento general se basa en la descomposición de la tarea arealizar en su tareas o soluciones parc...
EJEMPLO• Considerando el conjunto {1, 2, 3}, encontrar todos los subconjuntos queentre sus elementos sumen 4. Tomando en c...
El recorrido se construye eligiendo una alternativa del conjunto deopciones disponibles de cada subtarea del proceso, por ...
BACKTRACKING RECURSIVO EITERATIVO• La resolución de cada subtarea es similar a la resolución de la tareapadre, por ello, e...
TIPOS DE BACKTRACKING• En el esquema general el backtracking encuentra una únicasolución, independientemente de que hubies...
LA PRIMERA SOLUCIÓN• Este es el esquema general, donde el algoritmo se detiene y se devuelveal momento de encontrar la pri...
TODAS LAS SOLUCIONES• Explora todo el espacio de búsqueda para obtener el conjunto de todas lassoluciones que satisfacen e...
LA MEJOR SOLUCIÓN• Procesa todo el espacio de búsqueda, similar a la anterior, a diferencia enque a medida que se van obte...
http://www.widget-101.com/codigo/backtracking-recursivo/
Backtracking
Backtracking
Próxima SlideShare
Cargando en…5
×

Backtracking

381 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
381
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
18
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Backtracking

  1. 1. BACKTRACKINGANTONIO CANTILLO
  2. 2. Que es ?• Es una técnica algorítmica que consiste en la resolución deproblemas mediante la búsqueda sistemática de solucionesexhaustivas. Comúnmente, esta técnica hace uso de larecursividad, y es importante que domines la implementación delas llamadas recursivas con destreza antes de continuar
  3. 3. ¿Cómo trabaja?• El procedimiento general se basa en la descomposición de la tarea arealizar en su tareas o soluciones parciales. El método proporciona unamanera sistemática de generar todas las posibles soluciones, Ladescripción natural del proceso se representa mediante un árbol debúsqueda en el que se muestra como cada tarea se descompone o seramifica en su tareas
  4. 4. EJEMPLO• Considerando el conjunto {1, 2, 3}, encontrar todos los subconjuntos queentre sus elementos sumen 4. Tomando en cuenta el orden de loselementos; es decir, el subconjunto {1, 3} será distinto de {3, 1}.Alternativas: 1, 2 y 3Subtarea: sumaacumulativaSolución: sumaigual a 4
  5. 5. El recorrido se construye eligiendo una alternativa del conjunto deopciones disponibles de cada subtarea del proceso, por cada subtarease verifica si cumple con la solución del problema; si se encuentra unaalternativa incorrecta, la búsqueda retrocede hasta el paso anterior ytoma la siguiente alternativa. Cuando se han terminado lasposibilidades, se vuelve a la elección anterior y se toma la siguienteopción. Si no hay más alternativas la búsqueda falla.
  6. 6. BACKTRACKING RECURSIVO EITERATIVO• La resolución de cada subtarea es similar a la resolución de la tareapadre, por ello, es común que para implementar algoritmos conBACKTRACKING se hace uso de las funciones recursivas, en cada llamadaa la función se asigna diferentes valores, probando todos los valoresposibles, y manteniendo aquella que haya tenido éxito en las anterioresllamadas recursivas.
  7. 7. TIPOS DE BACKTRACKING• En el esquema general el backtracking encuentra una únicasolución, independientemente de que hubiesen más, pero existenvariantes del esquema que ofrecen más posibilidades a la hora de buscarsoluciones.
  8. 8. LA PRIMERA SOLUCIÓN• Este es el esquema general, donde el algoritmo se detiene y se devuelveal momento de encontrar la primera solución, sin considerar el resto delas ramas del árbol de exploración, ni siquiera que la que ha conseguidono sea la mejor. El siguiente “pseudocódigo” muestra una plantilla delesquema general.
  9. 9. TODAS LAS SOLUCIONES• Explora todo el espacio de búsqueda para obtener el conjunto de todas lassoluciones que satisfacen el problema. Cada vez que se encuentre con unasolución completa, la guarda en una estructura de datos y continúa elrecorrido hasta que no queden más posibilidades por explorar. El esquemageneral se puede modificar para que adopte esta variante.
  10. 10. LA MEJOR SOLUCIÓN• Procesa todo el espacio de búsqueda, similar a la anterior, a diferencia enque a medida que se van obteniendo nuevas soluciones se compararancon la mejor que se tenía hasta los momentos, y de ser mejor se quedacon la nueva
  11. 11. http://www.widget-101.com/codigo/backtracking-recursivo/

×