View
274
Download
0
Category
Preview:
DESCRIPTION
Muestra parte del algoritmo que se usa, una pequeña descripción de en que consiste.
Citation preview
VUELTA ATRÁS O (BACKTRACKING)
Giancarlo Ciliberti G.
Ing. Sistemas
¿QUE ES ?
Es una estrategia usada para solucionar problemas
que tienen soluciones completas.
Este algoritmo esta 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
a un determinado punto de la posible solución.
ESQUEMA GENERAL
En la siguiente PPT se mostrara el
algoritmo de forma general y se
mostraran también una pequeña
descripción de cada una de sus partes y
las funciones que cada una llama:
En la parte roja, se puede
cambiar encontrar la
mejor solución,
eliminaremos esta
instrucción. Y en su lugar
compararemos la solución
obtenida con una de
referencia, para ver si
tenemos que actualizar la
mejor solución obtenida
hasta el momento.
En la parte roja: Si
queremos todas las
soluciones la instrucción
cambiaria por
NoQuedanOpciones(o)
para conseguir así todas
las soluciones posibles.
También habría que hacer
esto para la mejor
solución.
EXPLICACIÓN DE FUNCIONES
IN IC IAROPC IONES(ETAPA I , GRUPOOPC IONES O)
En base a las alternativas elegidas en la solución
parcial i que nos llega como parámetro,
introducimos en “O” el grupo de opciones posibles
que podemos probar en la etapa actual. Si ninguno
de estos valores condujese a una solución válida, la
llamada a la función finalizaría y volveríamos a una
etapa posterior.
SELECC IONARNUEVAOPC ION(GRUPOOPC IONES O , OPC ION N)
De entre todas las alternativas posibles que tenemos
en ‘O’, elegimos una. Aquí podemos realizar funciones
de Poda, que pueden ser muy beneficiosas en ciertos
algoritmos, proporcionando opciones que tienen una
alta probabilidad de convertirse en solución y vitando
muchas pruebas innecesarias con valores que según
nuestra estimación no nos conducirán al éxito.
ACEPTABLE(OPCIÓN N)
Esta función es por tanto de vital importancia,
porque tiene funciones de poda que pueden convertir
el algoritmo en mucho más eficiente. Para construirla,
se suele llevar a cabo un análisis exhaustivo del
problema a tratar, para identificar esas situaciones de
la solución parcial en la que no debemos expandir
más porque nunca llegaremos a una solución.
ANOTAROPCION(ETAPA I , OPC IÓN N)
Anota la opción n elegida en las funciones anteriores
dentro de la solución parcial que llevamos construida
hasta la etapa i. Esta opción fue elegida en Seleccionar
Nueva Acción y comprobada como válida en Aceptable,
de manera que tenemos asegurado que es una
alternativa que aún no hemos probado, y que no
incumple ninguna de las reglas de poda que hayamos
introducido en nuestro programa.
CANCEL AMOS ANOTACION(ETAPA I , OPC ION N)
Realiza la acción contraria. Debido a que
esa opción n que habíamos anotado no ha
llevado a una solución, o estamos buscando
soluciones alternativas, la eliminamos de la
solución parcial en la etapa i, para que
podamos probar con otra si es que existe.
NOQUEDANOPCIONES(O)
Indica si todavía existe en el grupo inicial que
calculamos en cada función recursiva, alguna alternativa
más que probar. Si no queda ninguna opción,
inevitablemente hemos terminado de buscar en la etapa
actual, y debemos ir hacia atrás a la anterior llamada
recursiva para buscar nuevas alternativas por donde
expandir el árbol de posibilidades.
ARBOL DE BUSQUEDA
APLICACIONES
Vuelta atrás se usa en la implementación de
los lenguajes de programación tales como Lenguaje
de programación Planar y Prologo. Además, se usa
en los análisis sintácticos de los compiladores. Su
uso en inteligencia artificial ha sido muy
importante, dando lugar a nuevos tipos de
búsquedas como el A estrella.
GRACIAS
Recommended