SlideShare una empresa de Scribd logo
Autor: Daniela A. Mendoza R.
C.I: 28.528.546.
Cabudare; Marzo 2021
UNIVERSIDAD FERMIN TORO
VICE-RECTORADO ACADÉMICO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERIA EN COMPUTACIÓN
Vuelta atrás", (Backtracking) es una estrategia para encontrar soluciones a
problemas que satisfacen restricciones. El término "backtrack" fue acuñado
por primera vez por el matemático estadounidense D. H. Lehmer en los años
1950s.
En su forma básica, la idea de backtracking se asemeja a un recorrido en
profundidad dentro de un grafo dirigido. El grafo en cuestión suele ser un árbol,
o por lo menos no contiene ciclos. Sea cual sea su estructura, existe sólo
implícitamente. El objetivo del recorrido es encontrar soluciones para algún
problema. Esto se consigue construyendo soluciones parciales a medida que
progresa el recorrido; estas soluciones parciales limitan las regiones en las que
se puede encontrar una solución completa. El recorrido tiene éxito si,
procediendo de esta forma, se puede definir por completo una solución. En
este caso el algoritmo puede bien detenerse (si lo único que se necesita es una
solución del problema) o bien seguir buscando soluciones alternativas (si
deseamos examinarlas todas). Por otra parte, el recorrido no tiene éxito si en
alguna etapa la solución parcial construida hasta el momento no se puede
completar. En tal caso, el recorrido vuelve atrás exactamente igual que en un
recorrido en profundidad, eliminando sobre la marcha los elementos que se
hubieran añadido en cada fase. Cuando vuelve a un nodo que tiene uno o más
vecinos sin explorar, prosigue el recorrido de una solución
Podemos visualizar el funcionamiento de una técnica de backtracking como la
exploración en profundidad de un grafo.
Cada vértice del grafo es un posible estado de la solución del problema. Cada arco
del grafo representa la transición entre dos estados de la solución (i.e., la toma de
una decisión).
Típicamente el tamaño de este grafo será inmenso, por lo que no existirá de
manera explícita. En cada momento sólo tenemos en una estructura los nodos que
van desde el estado inicial al estado actual. Si cada secuencia de decisiones
distinta da lugar a un estado diferente, el grafo es un árbol (el árbol de estados).
Los problemas que deben satisfacer un determinado tipo de restricciones son
problemas completos, donde el orden de los elementos de la solución no
importa. Estos problemas consisten en un conjunto (o lista) de variables a la
que a cada una se le debe asignar un valor sujeto a las restricciones del
problema. La técnica va creando todas las posibles combinaciones de
elementos para obtener una solución. Su principal virtud es que en la mayoría
de las implementaciones se puede evitar combinaciones, estableciendo
funciones de acotación (o poda) reduciendo el tiempo de ejecución.
Vuelta atrás está muy relacionado con la búsqueda combinatoria.
Esencialmente, la idea es encontrar la mejor combinación posible en un
momento determinado, por eso, se dice que este tipo de algoritmo es
una Búsqueda en profundidad. Durante la búsqueda, si se encuentra una
alternativa incorrecta, la búsqueda retrocede hasta el paso anterior y toma la
siguiente alternativa. Cuando se han terminado las posibilidades, se vuelve a la
elección anterior y se toma la siguiente opción (hijo [si nos referimos a un
árbol]). Si no hay más alternativas la búsqueda falla. De esta manera, se crea
un árbol implícito, en el que cada nodo es un estado de la solución (solución
parcial en el caso de nodos interiores o solución total en el caso de los nodos
hoja).
Normalmente, se suele implementar este tipo de algoritmos como un
procedimiento recursivo. Así, en cada llamada al procedimiento se toma una
variable y se le asignan todos los valores posibles, llamando a su vez al
procedimiento para cada uno de los nuevos estados. La diferencia con
la Búsqueda en profundidad es que se suelen diseñar funciones de cota, de
forma que no se generen algunos estados si no van a conducir a ninguna
solución, o a una solución peor de la que ya se tiene. De esta forma se ahorra
espacio en memoria y tiempo de ejecución
Algunas heurísticas son comúnmente usadas para acelerar el proceso. Como las variables
se pueden procesar en cualquier orden, generalmente es más eficiente intentar ser lo más
restrictivo posible con las primeras (esto es, las primeras con menores valores posibles). Este
proceso poda el árbol de búsqueda antes de que se tome la decisión y se llame a la
subrutina recursiva.
Cuando se elige qué valor se va a asignar, muchas implementaciones hacen un examen
hacia delante (FC, Forward Checking), para ver qué valor restringirá el menor número posible
de valores, de forma que se anticipa en a) preservar una posible solución y b) hace que la
solución encontrada no tenga restricciones destacadas.
Algunas implementaciones muy sofisticadas usan una función de cotas, que examina si es
posible encontrar una solución a partir de una solución parcial. Además, se comprueba si la
solución parcial que falla puede incrementar significativamente la eficiencia del algoritmo. Por
el uso de estas funciones de cota, se debe ser muy minucioso en su implementación de
forma que sean poco costosas computacionalmente hablando, ya que lo más normal es que
se ejecuten en para cada nodo o paso del algoritmo. Cabe destacar, que las cotas eficaces
se crean de forma parecida a las funciones Heurísticas, esto es, relajando las restricciones
para conseguir mayor eficiencia.
Con el objetivo de mantener la solución actual con coste mínimo, los algoritmos vuelta atrás
mantienen el coste de la mejor solución en una variable que va variando con cada nueva
mejor solución encontrada. Así, si una solución es peor que la que se acaba de encontrar, el
algoritmo no actualizará la solución. De esta forma, devolverá siempre la mejor solución que
haya encontrado.
Ejemplos típicos en los que se puede aplicar este método son los laberintos, el Sudoku (para
uno normal de 9x9, entre 15.000 y 90.000 ciclos) o en ajedrez el problema del recorrido del
caballo o el de las ocho damas. En terrenos más prácticos el problema de la mochila es uno
de los ejemplos más clásicos: optimizar qué objetos meter que maximicen la ocupación de un
espacio de una forma determinada (quizá lo hayas experimentado en el maletero del coche
en los Tetris 3D de las vacaciones.)
El rompecabezas de madera de la imagen –uno de los muchos puzles de madera chinos sin
nombre, similar al de los pentominós 2D– inspiró a Lacono a crear un programa para resolver
llamado GoShapesPuzzle [en Github] usando el lenguaje Go (y gotk3), tal y como está
explicado y en el código del que se puede aprender.
El problema de la enumeración consiste en encontrar todas las soluciones del problema, es
por ello que tendremos que recorrer el árbol de estados al completo.
Problema de las N Reinas
Disponemos de un tablero de ajedrez de tamaño NxN, y se trata de colocar en él N reinas de
manera que no se amenacen según las normas del ajedrez.
Problema de las N Reinas
Disponemos de un tablero de ajedrez de tamaño NxN, y se trata de colocar en él N reinas de
manera que no se amenacen según las normas del ajedrez.
Este método busca una solución como en el método de backtracking, pero cada
solución tiene asociado un costo y la solución que se busca es una de mínimo
costo llamada óptima. Además de ramificar una solución padre (branch) en hijos
se trata de eliminar de consideración aquellos hijos cuyos descendientes tienen
un costo que supera al óptimo buscado acotando el costo de los descendientes
del hijo (bound). La forma de acotar es un arte que depende de cada problema.
La acotacion reduce el tiempo de búsqueda de la solución óptima al "podar"
(pruning) los subarboles de descendientes costosos.

Más contenido relacionado

La actualidad más candente

Vuelta atrás o (backtracking)
Vuelta atrás o (backtracking)Vuelta atrás o (backtracking)
Vuelta atrás o (backtracking)
Giancarlo Gutierrez
 
Recursividad
RecursividadRecursividad
Recursividad
María Luisa Velasco
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
KimLinares
 
Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.
Mayra Villanueva
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
Fernando Solis
 
Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptx
Yared Redman
 
Ejercicio
EjercicioEjercicio
Ejercicio
Andrew Aguillon
 
Oviedo control final
Oviedo control finalOviedo control final
Oviedo control final
German Daza
 
Metodos de optimizacion
Metodos de optimizacionMetodos de optimizacion
Metodos de optimizacion
luisatero
 
Recursividad
RecursividadRecursividad
Recursividad
Manuela Lopez Cardona
 
Lagrange y kunh tucker
Lagrange y kunh tuckerLagrange y kunh tucker
Lagrange y kunh tucker
Raniels
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
Universidad del golfo de México Norte
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
Ruben Gonzalez
 
Enfoques
EnfoquesEnfoques
Enfoques
Joamarbet
 
Ior
IorIor
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
genesisptc_
 
Sistemas inteligentes
Sistemas inteligentesSistemas inteligentes
Sistemas inteligentes
Julissa Cardona
 
La Torre de Hanoi Monografía vanessa mayo 2010
La Torre de Hanoi  Monografía  vanessa mayo 2010La Torre de Hanoi  Monografía  vanessa mayo 2010
La Torre de Hanoi Monografía vanessa mayo 2010
Vanessa Santiago
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
Almelys Romero de Brito
 
complejidad computacional
complejidad computacionalcomplejidad computacional
complejidad computacional
lourdesnbv
 

La actualidad más candente (20)

Vuelta atrás o (backtracking)
Vuelta atrás o (backtracking)Vuelta atrás o (backtracking)
Vuelta atrás o (backtracking)
 
Recursividad
RecursividadRecursividad
Recursividad
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
Teoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptxTeoría de complejidad computacional (tcc).pptx
Teoría de complejidad computacional (tcc).pptx
 
Ejercicio
EjercicioEjercicio
Ejercicio
 
Oviedo control final
Oviedo control finalOviedo control final
Oviedo control final
 
Metodos de optimizacion
Metodos de optimizacionMetodos de optimizacion
Metodos de optimizacion
 
Recursividad
RecursividadRecursividad
Recursividad
 
Lagrange y kunh tucker
Lagrange y kunh tuckerLagrange y kunh tucker
Lagrange y kunh tucker
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
 
Enfoques
EnfoquesEnfoques
Enfoques
 
Ior
IorIor
Ior
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Sistemas inteligentes
Sistemas inteligentesSistemas inteligentes
Sistemas inteligentes
 
La Torre de Hanoi Monografía vanessa mayo 2010
La Torre de Hanoi  Monografía  vanessa mayo 2010La Torre de Hanoi  Monografía  vanessa mayo 2010
La Torre de Hanoi Monografía vanessa mayo 2010
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
 
complejidad computacional
complejidad computacionalcomplejidad computacional
complejidad computacional
 

Similar a Daniela mendozaestructuradedatosii

Slideshare nelson rodriguez
Slideshare nelson rodriguezSlideshare nelson rodriguez
Slideshare nelson rodriguez
nelro038
 
clase1_TecDiseño_2021.ppsx
clase1_TecDiseño_2021.ppsxclase1_TecDiseño_2021.ppsx
clase1_TecDiseño_2021.ppsx
CesarR26
 
Backtracking
BacktrackingBacktracking
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
JOSEPHBADRA3
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
Wilmer Quintero
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
Fidel Rivero
 
Diapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voracesDiapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voraces
Ariannys Romero Parra
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
jesusjosemalpartidac
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
jesusjosemalpartidac
 
Backtracking
BacktrackingBacktracking
Backtracking
Antonio Cantillo
 
Panorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte Muñoz
Panorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte MuñozPanorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte Muñoz
Panorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte Muñoz
Facultad de Informática UCM
 
Optimizacion Diusty Mijares
Optimizacion Diusty MijaresOptimizacion Diusty Mijares
Optimizacion Diusty Mijares
Diusty Mijares Villarroel
 
Complejidad Computacional o Algoritmica
Complejidad Computacional o AlgoritmicaComplejidad Computacional o Algoritmica
Complejidad Computacional o Algoritmica
Marko ZP
 
Busquedas (ia)
Busquedas (ia)Busquedas (ia)
Busquedas (ia)
Yamnibel
 
Kuhn Tucker y Lagrange
Kuhn Tucker y LagrangeKuhn Tucker y Lagrange
Kuhn Tucker y Lagrange
Renier007
 
Teoria de Optimizacion
Teoria de  OptimizacionTeoria de  Optimizacion
Teoria de Optimizacion
rebeca ferrer
 
Torres de hanói melany rojas
Torres de hanói melany rojasTorres de hanói melany rojas
Torres de hanói melany rojas
Melany Rojas
 
Lastorresdehanoi
LastorresdehanoiLastorresdehanoi
Lastorresdehanoi
betcyr
 
Criterios de Busqueda en I.A
Criterios de Busqueda en I.ACriterios de Busqueda en I.A
Criterios de Busqueda en I.A
Jose Manuel Silva Gomez
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
sherlynsyta
 

Similar a Daniela mendozaestructuradedatosii (20)

Slideshare nelson rodriguez
Slideshare nelson rodriguezSlideshare nelson rodriguez
Slideshare nelson rodriguez
 
clase1_TecDiseño_2021.ppsx
clase1_TecDiseño_2021.ppsxclase1_TecDiseño_2021.ppsx
clase1_TecDiseño_2021.ppsx
 
Backtracking
BacktrackingBacktracking
Backtracking
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
 
Esquema algorítmico del backtracking
Esquema algorítmico del  backtrackingEsquema algorítmico del  backtracking
Esquema algorítmico del backtracking
 
Las torres de hanoi
Las torres de hanoiLas torres de hanoi
Las torres de hanoi
 
Diapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voracesDiapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voraces
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Torre de hanoi
Torre de hanoiTorre de hanoi
Torre de hanoi
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Panorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte Muñoz
Panorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte MuñozPanorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte Muñoz
Panorámica de los procedimientos metaheurísticos - Prof. Abraham Duarte Muñoz
 
Optimizacion Diusty Mijares
Optimizacion Diusty MijaresOptimizacion Diusty Mijares
Optimizacion Diusty Mijares
 
Complejidad Computacional o Algoritmica
Complejidad Computacional o AlgoritmicaComplejidad Computacional o Algoritmica
Complejidad Computacional o Algoritmica
 
Busquedas (ia)
Busquedas (ia)Busquedas (ia)
Busquedas (ia)
 
Kuhn Tucker y Lagrange
Kuhn Tucker y LagrangeKuhn Tucker y Lagrange
Kuhn Tucker y Lagrange
 
Teoria de Optimizacion
Teoria de  OptimizacionTeoria de  Optimizacion
Teoria de Optimizacion
 
Torres de hanói melany rojas
Torres de hanói melany rojasTorres de hanói melany rojas
Torres de hanói melany rojas
 
Lastorresdehanoi
LastorresdehanoiLastorresdehanoi
Lastorresdehanoi
 
Criterios de Busqueda en I.A
Criterios de Busqueda en I.ACriterios de Busqueda en I.A
Criterios de Busqueda en I.A
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Último

Klohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdfKlohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdf
ciniguez1
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
MONICADELROCIOMUNZON1
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
luliolivera62
 
Unidad 2 - Cargas en las estructuras.pdf
Unidad 2 - Cargas en las estructuras.pdfUnidad 2 - Cargas en las estructuras.pdf
Unidad 2 - Cargas en las estructuras.pdf
oagalarraga
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
yamilbailonw
 
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptxGravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
RobertoChvez25
 
Clase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieriaClase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieria
leonidasbajalquepuch
 
Fundamentos-Ensayos-Al-Fuego de oro y plata
Fundamentos-Ensayos-Al-Fuego de oro  y plataFundamentos-Ensayos-Al-Fuego de oro  y plata
Fundamentos-Ensayos-Al-Fuego de oro y plata
RobertoChvez25
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
azulsarase
 
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
jlupo2024
 
Brigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptxBrigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptx
gerenciasisomaqgeren
 
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
MONICADELROCIOMUNZON1
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
AlvaroEduardoConsola1
 
Norma API 1104 Calificación de Procedimiento.ppt
Norma API 1104 Calificación de Procedimiento.pptNorma API 1104 Calificación de Procedimiento.ppt
Norma API 1104 Calificación de Procedimiento.ppt
linapaolac5
 
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptxJuzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Folke Claudio Tantahuillca Landeo
 
26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...
26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...
26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...
FlavioMedina10
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
jeffersoncolina427
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
GERARDO GONZALEZ
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
FernandoRodrigoEscal
 

Último (20)

Klohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdfKlohn Crippen Berger _ Brochure LAM .pdf
Klohn Crippen Berger _ Brochure LAM .pdf
 
Características de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptxCaracterísticas de los suelos como los histosoles.pptx
Características de los suelos como los histosoles.pptx
 
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
1°AIRE ACONDICIONADO-EQUIPOS & SISTEMAS.pdf
 
Unidad 2 - Cargas en las estructuras.pdf
Unidad 2 - Cargas en las estructuras.pdfUnidad 2 - Cargas en las estructuras.pdf
Unidad 2 - Cargas en las estructuras.pdf
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
 
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptxGravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
Gravimetria-Amalgamacion-y-Flotacion-del-Oro-pptx.pptx
 
Clase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieriaClase Isometricos parA circuitos de ingenieria
Clase Isometricos parA circuitos de ingenieria
 
Fundamentos-Ensayos-Al-Fuego de oro y plata
Fundamentos-Ensayos-Al-Fuego de oro  y plataFundamentos-Ensayos-Al-Fuego de oro  y plata
Fundamentos-Ensayos-Al-Fuego de oro y plata
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
 
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
 
Brigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptxBrigada de primeros auxilios presentación.pptx
Brigada de primeros auxilios presentación.pptx
 
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptxPRINCIPALES CARACTERISTICAS DE EL PH.pptx
PRINCIPALES CARACTERISTICAS DE EL PH.pptx
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
 
Norma API 1104 Calificación de Procedimiento.ppt
Norma API 1104 Calificación de Procedimiento.pptNorma API 1104 Calificación de Procedimiento.ppt
Norma API 1104 Calificación de Procedimiento.ppt
 
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptxJuzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
Juzgamiento-de-Ganado-Lechero-CATEGORIA-B-SWISS.pptx
 
26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...
26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...
26.-MARZO-SECTOR-MINERO-IDENTIFICACIÓN-DE-PELIGROS-Y-RIESGOS-CON-ENFOQUE-A-P...
 
Aletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptxAletas de Transferencia de Calor Jefferson Colina.pptx
Aletas de Transferencia de Calor Jefferson Colina.pptx
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
 

Daniela mendozaestructuradedatosii

  • 1. Autor: Daniela A. Mendoza R. C.I: 28.528.546. Cabudare; Marzo 2021 UNIVERSIDAD FERMIN TORO VICE-RECTORADO ACADÉMICO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERIA EN COMPUTACIÓN
  • 2. Vuelta atrás", (Backtracking) es una estrategia para encontrar soluciones a problemas que satisfacen restricciones. El término "backtrack" fue acuñado por primera vez por el matemático estadounidense D. H. Lehmer en los años 1950s.
  • 3. En su forma básica, la idea de backtracking se asemeja a un recorrido en profundidad dentro de un grafo dirigido. El grafo en cuestión suele ser un árbol, o por lo menos no contiene ciclos. Sea cual sea su estructura, existe sólo implícitamente. El objetivo del recorrido es encontrar soluciones para algún problema. Esto se consigue construyendo soluciones parciales a medida que progresa el recorrido; estas soluciones parciales limitan las regiones en las que se puede encontrar una solución completa. El recorrido tiene éxito si, procediendo de esta forma, se puede definir por completo una solución. En este caso el algoritmo puede bien detenerse (si lo único que se necesita es una solución del problema) o bien seguir buscando soluciones alternativas (si deseamos examinarlas todas). Por otra parte, el recorrido no tiene éxito si en alguna etapa la solución parcial construida hasta el momento no se puede completar. En tal caso, el recorrido vuelve atrás exactamente igual que en un recorrido en profundidad, eliminando sobre la marcha los elementos que se hubieran añadido en cada fase. Cuando vuelve a un nodo que tiene uno o más vecinos sin explorar, prosigue el recorrido de una solución
  • 4. Podemos visualizar el funcionamiento de una técnica de backtracking como la exploración en profundidad de un grafo. Cada vértice del grafo es un posible estado de la solución del problema. Cada arco del grafo representa la transición entre dos estados de la solución (i.e., la toma de una decisión). Típicamente el tamaño de este grafo será inmenso, por lo que no existirá de manera explícita. En cada momento sólo tenemos en una estructura los nodos que van desde el estado inicial al estado actual. Si cada secuencia de decisiones distinta da lugar a un estado diferente, el grafo es un árbol (el árbol de estados).
  • 5. Los problemas que deben satisfacer un determinado tipo de restricciones son problemas completos, donde el orden de los elementos de la solución no importa. Estos problemas consisten en un conjunto (o lista) de variables a la que a cada una se le debe asignar un valor sujeto a las restricciones del problema. La técnica va creando todas las posibles combinaciones de elementos para obtener una solución. Su principal virtud es que en la mayoría de las implementaciones se puede evitar combinaciones, estableciendo funciones de acotación (o poda) reduciendo el tiempo de ejecución. Vuelta atrás está muy relacionado con la búsqueda combinatoria.
  • 6. Esencialmente, la idea es encontrar la mejor combinación posible en un momento determinado, por eso, se dice que este tipo de algoritmo es una Búsqueda en profundidad. Durante la búsqueda, si se encuentra una alternativa incorrecta, la búsqueda retrocede hasta el paso anterior y toma la siguiente alternativa. Cuando se han terminado las posibilidades, se vuelve a la elección anterior y se toma la siguiente opción (hijo [si nos referimos a un árbol]). Si no hay más alternativas la búsqueda falla. De esta manera, se crea un árbol implícito, en el que cada nodo es un estado de la solución (solución parcial en el caso de nodos interiores o solución total en el caso de los nodos hoja). Normalmente, se suele implementar este tipo de algoritmos como un procedimiento recursivo. Así, en cada llamada al procedimiento se toma una variable y se le asignan todos los valores posibles, llamando a su vez al procedimiento para cada uno de los nuevos estados. La diferencia con la Búsqueda en profundidad es que se suelen diseñar funciones de cota, de forma que no se generen algunos estados si no van a conducir a ninguna solución, o a una solución peor de la que ya se tiene. De esta forma se ahorra espacio en memoria y tiempo de ejecución
  • 7. Algunas heurísticas son comúnmente usadas para acelerar el proceso. Como las variables se pueden procesar en cualquier orden, generalmente es más eficiente intentar ser lo más restrictivo posible con las primeras (esto es, las primeras con menores valores posibles). Este proceso poda el árbol de búsqueda antes de que se tome la decisión y se llame a la subrutina recursiva. Cuando se elige qué valor se va a asignar, muchas implementaciones hacen un examen hacia delante (FC, Forward Checking), para ver qué valor restringirá el menor número posible de valores, de forma que se anticipa en a) preservar una posible solución y b) hace que la solución encontrada no tenga restricciones destacadas. Algunas implementaciones muy sofisticadas usan una función de cotas, que examina si es posible encontrar una solución a partir de una solución parcial. Además, se comprueba si la solución parcial que falla puede incrementar significativamente la eficiencia del algoritmo. Por el uso de estas funciones de cota, se debe ser muy minucioso en su implementación de forma que sean poco costosas computacionalmente hablando, ya que lo más normal es que se ejecuten en para cada nodo o paso del algoritmo. Cabe destacar, que las cotas eficaces se crean de forma parecida a las funciones Heurísticas, esto es, relajando las restricciones para conseguir mayor eficiencia. Con el objetivo de mantener la solución actual con coste mínimo, los algoritmos vuelta atrás mantienen el coste de la mejor solución en una variable que va variando con cada nueva mejor solución encontrada. Así, si una solución es peor que la que se acaba de encontrar, el algoritmo no actualizará la solución. De esta forma, devolverá siempre la mejor solución que haya encontrado.
  • 8. Ejemplos típicos en los que se puede aplicar este método son los laberintos, el Sudoku (para uno normal de 9x9, entre 15.000 y 90.000 ciclos) o en ajedrez el problema del recorrido del caballo o el de las ocho damas. En terrenos más prácticos el problema de la mochila es uno de los ejemplos más clásicos: optimizar qué objetos meter que maximicen la ocupación de un espacio de una forma determinada (quizá lo hayas experimentado en el maletero del coche en los Tetris 3D de las vacaciones.) El rompecabezas de madera de la imagen –uno de los muchos puzles de madera chinos sin nombre, similar al de los pentominós 2D– inspiró a Lacono a crear un programa para resolver llamado GoShapesPuzzle [en Github] usando el lenguaje Go (y gotk3), tal y como está explicado y en el código del que se puede aprender.
  • 9. El problema de la enumeración consiste en encontrar todas las soluciones del problema, es por ello que tendremos que recorrer el árbol de estados al completo.
  • 10. Problema de las N Reinas Disponemos de un tablero de ajedrez de tamaño NxN, y se trata de colocar en él N reinas de manera que no se amenacen según las normas del ajedrez.
  • 11. Problema de las N Reinas Disponemos de un tablero de ajedrez de tamaño NxN, y se trata de colocar en él N reinas de manera que no se amenacen según las normas del ajedrez.
  • 12. Este método busca una solución como en el método de backtracking, pero cada solución tiene asociado un costo y la solución que se busca es una de mínimo costo llamada óptima. Además de ramificar una solución padre (branch) en hijos se trata de eliminar de consideración aquellos hijos cuyos descendientes tienen un costo que supera al óptimo buscado acotando el costo de los descendientes del hijo (bound). La forma de acotar es un arte que depende de cada problema. La acotacion reduce el tiempo de búsqueda de la solución óptima al "podar" (pruning) los subarboles de descendientes costosos.