SlideShare una empresa de Scribd logo
1 de 7
BAC K T R AC K I N G
Luis Saltaren
Introducción
• El backtracking es una estrategia usada para encontrar
soluciones a problemas que tienen una solución completa, en
los que el orden de los elementos no importa, y en los que
existen una serie de variables a cada una de las cuales
debemos asignarle un valor teniendo en cuenta unas
restricciones dadas.
Aplicaciones del Método
Algorítmico.
• La técnica de Backtracking es usada en muchos ámbitos de la
programación, por ejemplo, para el cálculo de expresiones
regulares o para tareas de reconocimiento de texto y de
sintaxis de lenguajes regulares. También es usado incluso en la
implementación de algunos lenguajes de programación, tales
como Planner o Prolog y da soporte a muchos algoritmos en
inteligencia artificial.
Eficiencia y costes
• los algoritmos de backtracking no son eficientes, ya que se
basan en el método de prueba y error, y en muchas ocasiones
para conseguir solución se tiene que recorrer todo el árbol de
búsqueda o gran parte de él. También tendremos que achacar
que la recursividad contribuye a su ineficiencia, por la
memoria que gasta durante las diferentes llamadas recursivas.
Eficiencia y costes
• Para conseguir mejoras en los costes se suele recurrir a la
poda del árbol de búsqueda, lo cuál se hace marcando los
caminos que ya se han estudiado y los no prometedores como
cerrados con lo cuál el algoritmo no perderá tiempo con los
nodos que estén dentro de estos caminos. También se podrían
crear predicados acotadores reduzcan mucho el número de
nodos generados, si el predicado acotador sólo dejara un
nodo el algoritmo se convertiría en voraz y su coste bajaría a
O(p(n)n). Aunque normalmente los costes más bajos que se
pueden conseguir son el orden de O(p(n)2n).
Árboles de búsqueda.
• el algoritmo de vuelta atrás proporciona una manera
sistemática de generar las todas las posibles soluciones
siempre que se puedan resolver por etapas, lo que se asemeja
mucho a una búsqueda combinatoria.
• Para conseguir este estudio tan exhaustivo del problema, se
considera que se trabaja con un árbol que cuya existencia es
sólo implícita, para nosotros cada nodo del nivel k representa
una parte de la solución y nuestro árbol estará formados por
las k etapas que se considerarán ya realizadas.
Conclusión
• El backtracking es un esquema algorítmico que nos va a
permitir resolver una gran variedad de tipos de problemas,
pero, por término medio, es sumamente costoso (en cuanto a
complejidades temporales se refiere) debido al tamaño que
adoptan sus espacios de búsqueda. Aplicándole una serie de
mejoras podremos conseguir que dicho espacio mengue para
reducir en lo posible las altas complejidades que suelen tener.

Más contenido relacionado

La actualidad más candente

Arquitectura clase-4
Arquitectura clase-4Arquitectura clase-4
Arquitectura clase-4Jorge Deleon
 
Optimización global
Optimización globalOptimización global
Optimización globalSaory Rma
 
Unidad 2 diana karina pech may
Unidad 2 diana karina pech mayUnidad 2 diana karina pech may
Unidad 2 diana karina pech mayKarina1602
 
Gradiente descendiente
Gradiente descendienteGradiente descendiente
Gradiente descendienteESCOM
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamicagusolis93
 

La actualidad más candente (9)

Arquitectura clase-4
Arquitectura clase-4Arquitectura clase-4
Arquitectura clase-4
 
Optimización global
Optimización globalOptimización global
Optimización global
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Unidad 2 diana karina pech may
Unidad 2 diana karina pech mayUnidad 2 diana karina pech may
Unidad 2 diana karina pech may
 
ResultSet
ResultSetResultSet
ResultSet
 
Png
PngPng
Png
 
Gradiente descendiente
Gradiente descendienteGradiente descendiente
Gradiente descendiente
 
Comando de c#
Comando de c#Comando de c#
Comando de c#
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 

Destacado

Program Login Delphi - by Mulyaningrum
Program Login Delphi - by MulyaningrumProgram Login Delphi - by Mulyaningrum
Program Login Delphi - by MulyaningrumMulya Ningrum
 
Tendances et priorités relatives au capital humain en 2013
Tendances et priorités relatives au capital humain en 2013Tendances et priorités relatives au capital humain en 2013
Tendances et priorités relatives au capital humain en 2013Deloitte Canada
 
Qué es y por qué el Estilo APA
Qué es y por qué el Estilo APAQué es y por qué el Estilo APA
Qué es y por qué el Estilo APAHugo Rozo Garcia
 
Introduccion a la educacion superior. leccion 3
Introduccion a la educacion superior. leccion 3Introduccion a la educacion superior. leccion 3
Introduccion a la educacion superior. leccion 3merodaya
 
SELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWSSELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWSDhanya LK
 
Виховний захід "А пам'ять серце бережеі"
Виховний захід "А пам'ять серце бережеі"Виховний захід "А пам'ять серце бережеі"
Виховний захід "А пам'ять серце бережеі"Тетяна Шверненко
 

Destacado (12)

Duane's birthday
Duane's birthdayDuane's birthday
Duane's birthday
 
Ensayo planeacion
Ensayo planeacionEnsayo planeacion
Ensayo planeacion
 
Program Login Delphi - by Mulyaningrum
Program Login Delphi - by MulyaningrumProgram Login Delphi - by Mulyaningrum
Program Login Delphi - by Mulyaningrum
 
Frases incompletas
Frases incompletasFrases incompletas
Frases incompletas
 
Mapa conceptual de el examen
Mapa conceptual de el examenMapa conceptual de el examen
Mapa conceptual de el examen
 
Tendances et priorités relatives au capital humain en 2013
Tendances et priorités relatives au capital humain en 2013Tendances et priorités relatives au capital humain en 2013
Tendances et priorités relatives au capital humain en 2013
 
Qué es y por qué el Estilo APA
Qué es y por qué el Estilo APAQué es y por qué el Estilo APA
Qué es y por qué el Estilo APA
 
Testimonal
TestimonalTestimonal
Testimonal
 
Introduccion a la educacion superior. leccion 3
Introduccion a la educacion superior. leccion 3Introduccion a la educacion superior. leccion 3
Introduccion a la educacion superior. leccion 3
 
SELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWSSELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWS
 
Виховний захід "А пам'ять серце бережеі"
Виховний захід "А пам'ять серце бережеі"Виховний захід "А пам'ять серце бережеі"
Виховний захід "А пам'ять серце бережеі"
 
Tendencias educativas
Tendencias educativasTendencias educativas
Tendencias educativas
 

Similar a Bac k t r ac k i n luis saltaren

Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtrackingWilmer Quintero
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtrackingWilmer Quintero
 
Qué es un algoritmo 10
Qué es un algoritmo 10Qué es un algoritmo 10
Qué es un algoritmo 10Ricaurte Duran
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemasJohnfornerod
 
Algoritmos computacionales y programación: 1
 Algoritmos computacionales y programación: 1 Algoritmos computacionales y programación: 1
Algoritmos computacionales y programación: 1Universidad Veracruzana
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemasSergio Ormeño
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.belmont402
 
Presentacion recocido simulado javier arango rosero y edwin shtid leon beltran
Presentacion recocido simulado javier arango rosero y edwin shtid leon beltranPresentacion recocido simulado javier arango rosero y edwin shtid leon beltran
Presentacion recocido simulado javier arango rosero y edwin shtid leon beltranJavier Arango
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvezDaniel Gelvez
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvezDaniel Gelvez
 
Trabajo de thali infor
Trabajo de thali inforTrabajo de thali infor
Trabajo de thali inforThalia Diaz
 

Similar a Bac k t r ac k i n luis saltaren (20)

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
 
Manual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_gManual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_g
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Qué es un algoritmo 10
Qué es un algoritmo 10Qué es un algoritmo 10
Qué es un algoritmo 10
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos computacionales y programación: 1
 Algoritmos computacionales y programación: 1 Algoritmos computacionales y programación: 1
Algoritmos computacionales y programación: 1
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 
Teoria de la c.c.
Teoria de la c.c.Teoria de la c.c.
Teoria de la c.c.
 
Presentacion recocido simulado javier arango rosero y edwin shtid leon beltran
Presentacion recocido simulado javier arango rosero y edwin shtid leon beltranPresentacion recocido simulado javier arango rosero y edwin shtid leon beltran
Presentacion recocido simulado javier arango rosero y edwin shtid leon beltran
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvez
 
Algoritmos de victor gelvez
Algoritmos de victor gelvezAlgoritmos de victor gelvez
Algoritmos de victor gelvez
 
Trabajo de thali infor
Trabajo de thali inforTrabajo de thali infor
Trabajo de thali infor
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 

Bac k t r ac k i n luis saltaren

  • 1. BAC K T R AC K I N G Luis Saltaren
  • 2. Introducción • El backtracking es una estrategia usada para encontrar soluciones a problemas que tienen una solución completa, en los que el orden de los elementos no importa, y en los que existen una serie de variables a cada una de las cuales debemos asignarle un valor teniendo en cuenta unas restricciones dadas.
  • 3. Aplicaciones del Método Algorítmico. • La técnica de Backtracking es usada en muchos ámbitos de la programación, por ejemplo, para el cálculo de expresiones regulares o para tareas de reconocimiento de texto y de sintaxis de lenguajes regulares. También es usado incluso en la implementación de algunos lenguajes de programación, tales como Planner o Prolog y da soporte a muchos algoritmos en inteligencia artificial.
  • 4. Eficiencia y costes • los algoritmos de backtracking no son eficientes, ya que se basan en el método de prueba y error, y en muchas ocasiones para conseguir solución se tiene que recorrer todo el árbol de búsqueda o gran parte de él. También tendremos que achacar que la recursividad contribuye a su ineficiencia, por la memoria que gasta durante las diferentes llamadas recursivas.
  • 5. Eficiencia y costes • Para conseguir mejoras en los costes se suele recurrir a la poda del árbol de búsqueda, lo cuál se hace marcando los caminos que ya se han estudiado y los no prometedores como cerrados con lo cuál el algoritmo no perderá tiempo con los nodos que estén dentro de estos caminos. También se podrían crear predicados acotadores reduzcan mucho el número de nodos generados, si el predicado acotador sólo dejara un nodo el algoritmo se convertiría en voraz y su coste bajaría a O(p(n)n). Aunque normalmente los costes más bajos que se pueden conseguir son el orden de O(p(n)2n).
  • 6. Árboles de búsqueda. • el algoritmo de vuelta atrás proporciona una manera sistemática de generar las todas las posibles soluciones siempre que se puedan resolver por etapas, lo que se asemeja mucho a una búsqueda combinatoria. • Para conseguir este estudio tan exhaustivo del problema, se considera que se trabaja con un árbol que cuya existencia es sólo implícita, para nosotros cada nodo del nivel k representa una parte de la solución y nuestro árbol estará formados por las k etapas que se considerarán ya realizadas.
  • 7. Conclusión • El backtracking es un esquema algorítmico que nos va a permitir resolver una gran variedad de tipos de problemas, pero, por término medio, es sumamente costoso (en cuanto a complejidades temporales se refiere) debido al tamaño que adoptan sus espacios de búsqueda. Aplicándole una serie de mejoras podremos conseguir que dicho espacio mengue para reducir en lo posible las altas complejidades que suelen tener.