SlideShare una empresa de Scribd logo
1 de 10
ESQUEMA
ALGORÍTMICO DEL
BACKTRACKING
WILMER QUINTERO
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 estricciones
dadas
 Este esquema algorítmico es utilizado para resolver problemas en los
que la solución consta de una serie de decisiones adecuadas hacia
nuestro objetivo. El backtracking está muy relacionado con la
búsqueda combinatoria. De manera más exacta podemos indicar que
los problemas a considerar son lo siguientes:
 1. Problemas de Decisión:
 Búsqueda de las soluciones que satisfacen ciertas restricciones.
 2. Problemas de Optimización:
 Búsqueda de la mejor solución en base a una función objetivo.
Aplicaciones del Método
algorítmico.
 La técnica Backtracking es un método de búsqueda
de soluciones exhaustiva sobre grafos dirigidos
acíclicos, el cual se acelera mediante poda de
ramas poco prometedoras
 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.
esquema general.
Variantes del esquema
general
 Hasta ahora hemos considerado que los
problemas que se resuelven con esta técnica
sólo encontraban una única solución,
independientemente de que hubiese más. A
continuación veremos que este esquema
ofrece más posibilidades a la hora de buscar
soluciones. Básicamente, las variantes se
dividen en tres grandes grupos que
estudiaremos seguidamente:
implementaciones que calculan una solución
cualquiera, todas las soluciones y la mejor de
todas las soluciones.
Eficiencia y costes
 Como ya hemos dicho anteriormente en algunas ocasión es los algoritmos de backtracking
no son eficientes , ya que se basan en el método de prueba y error, y en muchas o
casiones 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.
 Ahora bien hay que decir que la eficiencia depende de:
 El número de nodos del árbol de búsqueda que se visitan para conseguir la solución →v(n).
 El trabajo realizado en cada nodo, esto es, el coste de la función de solución completa o
ver si la solución es aceptable hasta el momento. Este coste lo podemos expresar como
→p(n), ya que generalmente será polinómico.
 El coste en general será: O(p(n)v(n)), este coste será exponencial en el peor caso.
Árboles de búsqueda.
Cómo ya hemos comentado anteriormente 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 (probar todas la posibles
combinaciones).
Para conseguir este estudio tan exhaustivo del
problema, se considera que se trabaja con un árbol
(figura 1) 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.
Muchas gracias

Más contenido relacionado

La actualidad más candente

Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7lenithoz
 
Algoritmo de backtracking
Algoritmo de backtrackingAlgoritmo de backtracking
Algoritmo de backtrackingVictor Gonzalez
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datosRené Sosa Arana
 
Bac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenBac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenlszsaltarenzapata
 
Backtracking
BacktrackingBacktracking
BacktrackingOmar Daza
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezVanessa Ramirez
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech mayKarina1602
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de AlgoritmosFranco Cid
 
Metodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabMetodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabBryan José Sarango
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosJuan Timoteo Cori
 

La actualidad más candente (19)

Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
 
Algoritmo de backtracking
Algoritmo de backtrackingAlgoritmo de backtracking
Algoritmo de backtracking
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datos
 
Bac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltarenBac k t r ac k i n luis saltaren
Bac k t r ac k i n luis saltaren
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech may
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Técnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrásTécnica del backtracking o vuelta atrás
Técnica del backtracking o vuelta atrás
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Metodos numéricos, códigos en Matlab
Metodos numéricos, códigos en MatlabMetodos numéricos, códigos en Matlab
Metodos numéricos, códigos en Matlab
 
Analisis de algoritmo
Analisis de algoritmoAnalisis de algoritmo
Analisis de algoritmo
 
Unidad 5. Recursión
Unidad 5. RecursiónUnidad 5. Recursión
Unidad 5. Recursión
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
luis
luisluis
luis
 

Destacado

Cinco claves para el éxito como trader (5/5)
Cinco claves para el éxito como trader (5/5)Cinco claves para el éxito como trader (5/5)
Cinco claves para el éxito como trader (5/5)tradingdefuturos
 
Estrategia de forex: introduccion al arbitraje estadistico
Estrategia de forex: introduccion al arbitraje estadisticoEstrategia de forex: introduccion al arbitraje estadistico
Estrategia de forex: introduccion al arbitraje estadisticoInvesting and Development LTD
 
Herramientas de trading cuantitativo para FOREX
Herramientas de trading cuantitativo para FOREXHerramientas de trading cuantitativo para FOREX
Herramientas de trading cuantitativo para FOREXFx Talentum
 
Defensa TFG predicción y optimización en sistemas de trading automáticos para...
Defensa TFG predicción y optimización en sistemas de trading automáticos para...Defensa TFG predicción y optimización en sistemas de trading automáticos para...
Defensa TFG predicción y optimización en sistemas de trading automáticos para...Fx Talentum
 
Libro 7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim Rohn
Libro   7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim RohnLibro   7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim Rohn
Libro 7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim RohnOlga López
 

Destacado (8)

Cinco claves para el éxito como trader (5/5)
Cinco claves para el éxito como trader (5/5)Cinco claves para el éxito como trader (5/5)
Cinco claves para el éxito como trader (5/5)
 
Estrategia de forex: introduccion al arbitraje estadistico
Estrategia de forex: introduccion al arbitraje estadisticoEstrategia de forex: introduccion al arbitraje estadistico
Estrategia de forex: introduccion al arbitraje estadistico
 
Creación de sistema automatizado de trading
Creación de sistema automatizado de tradingCreación de sistema automatizado de trading
Creación de sistema automatizado de trading
 
Herramientas de trading cuantitativo para FOREX
Herramientas de trading cuantitativo para FOREXHerramientas de trading cuantitativo para FOREX
Herramientas de trading cuantitativo para FOREX
 
Defensa TFG predicción y optimización en sistemas de trading automáticos para...
Defensa TFG predicción y optimización en sistemas de trading automáticos para...Defensa TFG predicción y optimización en sistemas de trading automáticos para...
Defensa TFG predicción y optimización en sistemas de trading automáticos para...
 
Estrategias de cobertura
Estrategias de coberturaEstrategias de cobertura
Estrategias de cobertura
 
Libro 7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim Rohn
Libro   7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim RohnLibro   7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim Rohn
Libro 7 Estrategias Para Alcanzar Riqueza Y Felicidad Por Jim Rohn
 
Correlacionadas aplicadas a estrategias
Correlacionadas aplicadas a estrategiasCorrelacionadas aplicadas a estrategias
Correlacionadas aplicadas a estrategias
 

Similar a Esquema algorítmico del backtracking

Busqueda por backtracking
Busqueda por backtrackingBusqueda por backtracking
Busqueda por backtrackingCesar Mujica
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamicaRuben Gonzalez
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistemaDiRossalez
 
Teoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivasTeoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivasmanuelrivasv95
 
Teoría de optimización
Teoría de optimizaciónTeoría de optimización
Teoría de optimizaciónAngel Jhoan
 
Daniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosiiDaniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosiiDanielaMendoza117
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaKimLinares
 
Teoria de Optimizacion
Teoria de  OptimizacionTeoria de  Optimizacion
Teoria de Optimizacionrebeca ferrer
 
TECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMASTECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMASFernando Solis
 
3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptxFernando Solis
 
Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos linuxsanchez
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)luzenith_g
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicaJosé Padrón
 
Lectura no. 2 algoritmos.
Lectura no. 2 algoritmos.Lectura no. 2 algoritmos.
Lectura no. 2 algoritmos.PilarVictoria3
 

Similar a Esquema algorítmico del backtracking (20)

Busqueda por backtracking
Busqueda por backtrackingBusqueda por backtracking
Busqueda por backtracking
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistema
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Teoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivasTeoria de optimizacion by. manuel rivas
Teoria de optimizacion by. manuel rivas
 
Teoría de optimización
Teoría de optimizaciónTeoría de optimización
Teoría de optimización
 
Daniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosiiDaniela mendozaestructuradedatosii
Daniela mendozaestructuradedatosii
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Teoria de Optimizacion
Teoria de  OptimizacionTeoria de  Optimizacion
Teoria de Optimizacion
 
Teoria optimizacion
Teoria optimizacionTeoria optimizacion
Teoria optimizacion
 
TECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMASTECNICAS DE RESOLUCION DE PROBLEMAS
TECNICAS DE RESOLUCION DE PROBLEMAS
 
Cap1.3
Cap1.3Cap1.3
Cap1.3
 
3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx3.1.5 Backtracking.pptx
3.1.5 Backtracking.pptx
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Lectura no. 2 algoritmos.
Lectura no. 2 algoritmos.Lectura no. 2 algoritmos.
Lectura no. 2 algoritmos.
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 

Esquema algorítmico del backtracking

  • 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 estricciones dadas  Este esquema algorítmico es utilizado para resolver problemas en los que la solución consta de una serie de decisiones adecuadas hacia nuestro objetivo. El backtracking está muy relacionado con la búsqueda combinatoria. De manera más exacta podemos indicar que los problemas a considerar son lo siguientes:  1. Problemas de Decisión:  Búsqueda de las soluciones que satisfacen ciertas restricciones.  2. Problemas de Optimización:  Búsqueda de la mejor solución en base a una función objetivo.
  • 3. Aplicaciones del Método algorítmico.  La técnica Backtracking es un método de búsqueda de soluciones exhaustiva sobre grafos dirigidos acíclicos, el cual se acelera mediante poda de ramas poco prometedoras  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.
  • 5. Variantes del esquema general  Hasta ahora hemos considerado que los problemas que se resuelven con esta técnica sólo encontraban una única solución, independientemente de que hubiese más. A continuación veremos que este esquema ofrece más posibilidades a la hora de buscar soluciones. Básicamente, las variantes se dividen en tres grandes grupos que estudiaremos seguidamente: implementaciones que calculan una solución cualquiera, todas las soluciones y la mejor de todas las soluciones.
  • 6.
  • 7. Eficiencia y costes  Como ya hemos dicho anteriormente en algunas ocasión es los algoritmos de backtracking no son eficientes , ya que se basan en el método de prueba y error, y en muchas o casiones 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.  Ahora bien hay que decir que la eficiencia depende de:  El número de nodos del árbol de búsqueda que se visitan para conseguir la solución →v(n).  El trabajo realizado en cada nodo, esto es, el coste de la función de solución completa o ver si la solución es aceptable hasta el momento. Este coste lo podemos expresar como →p(n), ya que generalmente será polinómico.  El coste en general será: O(p(n)v(n)), este coste será exponencial en el peor caso.
  • 8. Árboles de búsqueda. Cómo ya hemos comentado anteriormente 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 (probar todas la posibles combinaciones). Para conseguir este estudio tan exhaustivo del problema, se considera que se trabaja con un árbol (figura 1) 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.
  • 9.