0% encontró este documento útil (0 votos)
35 vistas34 páginas

Universidad Nacional de Trujillo Facultad de Ciencias Físicas y Matemáticas

Cargado por

pollojhean
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas34 páginas

Universidad Nacional de Trujillo Facultad de Ciencias Físicas y Matemáticas

Cargado por

pollojhean
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Nacional de Trujillo

Facultad de Ciencias Físicas y Matemáticas


Ingeniería Informática

Curso: Estrategias Algorítmicas

Daniel Augusto Alvarez Campos


Temas.

Introducción

Desarrollo

Conclusiones

Referencias
Introducción
Introducción.

La búsqueda con retroceso (backtracking) es una técnica de algoritmos

utilizada para resolver problemas de toma de decisiones, donde se busca una

solución incrementando progresivamente una construcción parcial hasta que

se encuentra una solución completa.


Introducción.

Si en algún punto se determina que la construcción parcial no puede llevar a

una solución válida, se retrocede (backtrack) al estado anterior y se intenta

con una alternativa diferente. Esta técnica es especialmente útil para

problemas de combinatoria, como el Sudoku, el problema de las N-reinas y la

generación de anagramas.
Desarrollo
BACKTRAKING

- Backtraking (o búsqueda atrás) es una táctica de programación para hacer búsqueda

sistemática a través de todas las configuraciones posibles dentro de una espacio de

búsqueda.

- Para lograr esto, los algoritmos de tipo backtraking construyen posibles soluciones

candidatas de manera sistemática.


BACKTRAKING

- 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.

- A veces los algoritmos de tipo backtraking se usan para encontrar una solución, pero otras

veces interesa que las revisen todas (por ejemplo, para encontrar la ruta más corta)
Suposición sobre el espacio de soluciones

Suposiciones sobre el espacio de soluciones

• Supondremos que una solución se puede modelar como un vector a = (a1,

a2, . . . , an), donde cada elemento ai está tomado de un conjunto ordenado

finito Si.

• Representamos a una solución candidata como un vector a = (a1, . . . , ak).

• Las soluciones candidatas se extenderán agregando un elemento al final.


Algoritmo Genérico de Backtraking

Donde
Solucion?(·) es una función que retorna verdadero si su argumento es una solución.
• procesarSolucion(·), depende del problema y que maneja una solución.
• Sucesores(·) es una función que dado un candidato, genera todos los candidatos que
son extensiones de éste.
• terminar? es una variable global booleana inicialmente es falsa, pero que puede ser
hecha verdadera por procesarSolucion, en caso que solo interesa encontrar una
solución.
Algunas aplicaciones con el Algoritmo de
Backtraking
Problema de las n-reinas

El problema de las n reinas consiste en colocar en un tablero n

reinas tal que no se amenacen.


Problema de las n-reinas: Número de soluciones
Problema de las n reinas – Solución
Problema de las n reinas – Solución
Problema de las n reinas – Solución
Problema de las 4 reinas – Solución
Representación del Árbol 4 reinas
Problema de la mochila
Problema de la mochila con n objetos – Solución
Problema de la mochila n objetos – Solución
Problema de la mochila con 4 objetos
Problema de la mochila con 4 objetos – Solución
Problema de la mochila con 4 objetos Solución
Representación del Árbol mochila
Graph Coloring
Problema del Coloreo de Mapas – Solución
Problema del Coloreo de Mapas - Solución
Representación del Coloreo de Mapas
Cierre
Conclusiones.

En conclusión, la búsqueda con retroceso es una técnica poderosa

para resolver problemas complejos que implican múltiples decisiones

y condiciones.
TRABAJO FINAL – UNIDAD 3

Resolver el VRP(Problema de Ruteo de Vehículos: escoger una variante)

utilizando el algoritmo visto en clase


Consultas.

También podría gustarte