Anda di halaman 1dari 14

BackTracking

Presentado Por:
● Jesus Moreno
● Daniel Melo
● Christian Pierotti
● Juan Pablo Piza
Contenido
1. ¿Qué es?.
2. Características.
3. Algoritmo.
4. Aplicaciones Del Algoritmo.
5. El Caballo De Atila
6. Resolver Un Laberinto
7. Problema De Las N-Reinas.
8. Problema De Los Cuadrados Mágicos.
9. Eficiencia Del BackTracking.
10. Ventajas e Inconvenientes.
11. Bibliografía.
¿Qué es?
● Es una técnica de programación para hacer búsquedas sistemática de todas
las configuraciones posibles dentro de un espacio de búsqueda
Esta técnica consiste básicamente en:
● Enumerar sistemáticamente las alternativas que existen en cada momento
para dar con la solución a un problema.
● Se prueba una alternativa, guardando memoria del resto de alternativas.
● Si no damos con la solución, podemos dar marcha atrás (backtracking) y
probar otra alternativa.

El problema es el tiempo que tarda en hacerlo….


Características

● Este algoritmo está diseñado para la solución que consta de una serie de decisiones.

● Para la implementación de este algoritmo se usan los algoritmos recursivos, la cual llaman unos
valores un determinado punto de la posible solución.

● forma metódica de probar varias secuencias de Decisiones, hasta encontrar la correcta que
"funciona".

● El “secreto” es la memorización de los resultados parciales


Funcionamiento
•El backtracking (o método de retroceso o vuelta atrás) es una técnica general de resolución de problemas,
aplicable en problemas de distintos tipos.
•El algoritmo de retroceso enumera un conjunto de candidatos parciales que, en principio, podrían ser
completadas en varias formas de dar a todas las posibles soluciones al problema dado. La terminación se realiza de
forma incremental, por una secuencia de pasos de extensión candidato.
•Metodología retroceso
•Ver recoger una solución como una secuencia de opciones
•Para cada elección, considerar cada opción de forma recursiva
•Devolver la mejor solución encontrada
•El backtracking realiza una búsqueda exhaustiva y sistemática en el espacio de soluciones. Por ello, suele resultar
muy ineficiente
•Se puede entender como “opuesto” a avance rápido:
•Avance rápido: añadir elementos a la solución y no deshacer ninguna decisión tomada.
•Backtracking: añadir y quitar todos los elementos. Probar todas las combinaciones.
Algoritmo
● Basado en la búsqueda de profundidad recursiva
•¿Cómo empezamos?
•Comprueba si se ha encontrado una solución.
•Si se encuentra una solución, retornarla.
•Si no en cada elección que se pueda hacer:
•Haz la elección
•Vuelve atrás.
•Si la recursividad devuelve una solución, retornarla
•Si no hay más opciones, retorna que no hay solución.
● Algunas veces es llamado "árbol de búsqueda"
Aplicaciones del algoritmo
Este se emplea para:

● El cálculo de expresiones regulares o para tareas de reconocimiento de texto


● La implementación de algunos lenguajes de programación,como Prolog, para
dar soporte a muchos algoritmos en inteligencia artificial, ya que este método
se puede implementar en la creación de árboles de búsqueda.
● Implementación del método backtracking tenemos: el problema de salto al
caballo o caballo de Atila,Resolver un laberinto, La solución de un
rompecabezas
Resolver Un Laberinto
● El problema del laberinto consiste en llegar
desde un punto de partida X, y encontrar el
camino más adecuado para llegar a una
salida Z
El Caballo De Atila
● Se sabe que por donde pisa el caballo ,
el pasto no vuelve a crecer. Se analiza
un problema en donde el caballo visita
un jardín de nxn casillas.

Restricciones Implícitas:

● El caballo no puede visitar su misma


casilla dos veces,
● No se puede mover en forma diagonal ,
solo vertical y horizontal.
Problema De Las N-Reinas
● El problema de las N reinas consiste en situar N reinas en un tablero de
ajedrez de NxN sin que se amenacen entre ellas.
● Restricciones: Una reina amenaza a otra si está en la misma fila, columna o
diagonal.
Problema de los Cuadrados Mágicos.

● Un cuadrado mágico es la disposición de una serie


de números enteros en un cuadrado o matriz de
forma tal que la suma de los números por
columnas, filas y diagonales sea la misma, la
constante mágica.
● Normalmente los números son consecutivos 1 a
n^2 ,donde n es el número de filas o columnas
● aveces se hace con números que no son
consecutivos.
Eficiencia De BackTracking
La eficiencia de los algoritmos backtracking depende básicamente de cuatro
factores:

1. el tiempo necesario para generar la siguiente elección

2. el número de elecciones que satisfagan las restricciones explícitas

3. el tiempo requerido por las funciones de acotación (Arreglo que contenga las
soluciones)

4. el número de elecciones que satisfagan las funciones de acotación


Ventajas e Inconvenientes
Bibliografía
● http://elvex.ugr.es/decsai/algorithms/slides/5%20Backtracking.pdf
● http://www.ciberaula.com/articulo/backtracking
● http://jabaier.sitios.ing.uc.cl/iic2552/backtracking.pdf
● http://cala.unex.es/cala/epistemowikia/images/0/0b/Backtracking.pdf
● https://www.xuletas.es/ficha/asdasd-24/
● http://dis.um.es/~domingo/apuntes/AlgProPar/0809/reinas.pdf
● http://estructuradedatos2backtracking.blogspot.com.co/2014/08/aplicaciones-
del-algoritmo.html

OK NO HAY PROBLEMA

Anda mungkin juga menyukai