Hvad er forskellen mellem backtracking og gren og bunden

Indholdsfortegnelse:

Anonim

Hovedforskellen mellem backtracking og branch og bound er det backtracking er en algoritme til at fange nogle eller alle løsninger på givne beregningsproblemer, især for begrænsningstilfredshedsproblemer, mens gren og bund er en algoritme til at finde den optimale løsning på mange optimeringsproblemer, især inden for diskret og kombinatorisk optimering.

En algoritme er en metodisk sekvens af trin til at løse et bestemt problem. Der er forskellige algoritmer, og to af dem er backtracking og grenede og bundne.

Backtracking, gren og bunden

Hvad er Backtracking

Backtracking er en algoritme, der løser problemet på en rekursiv måde. Det er en systematisk måde at prøve forskellige beslutningsrække for at finde den korrekte beslutning. Den finder ud af løsningen ved at søge løsningsrummet for det givne problem metodisk.

Alle løsninger til backtracking skal opfylde et komplekst sæt af eksplicitte og implicitte begrænsninger. Den eksplicitte begrænsning begrænser hvert vektorelement, der skal vælges fra det givne sæt. Desuden finder implicit begrænsning tuplerne i løsningsrummet, der kan tilfredsstille kriteriefunktionen.

Hvad er gren og bunden

Gren og bund er mere velegnet til situationer, hvor vi ikke kan anvende den grådige metode og dynamiske programmering. Normalt er denne algoritme langsom, da den kræver eksponentielle tidskomplekser i værste fald, men nogle gange fungerer den med rimelig effektivitet. Denne metode hjælper dog med at bestemme global optimering i ikke-konvekse problemer.

For at løse et problem opdeler denne metode det givne delproblem i yderligere to nye begrænsede delproblemer.

Forskellen mellem backtracking og gren og bunden

Definition

Backtracking er en algoritme til at finde alle løsninger på nogle beregningsproblemer, især problemer med tilfredshed, der gradvist bygger kandidater til løsningerne. Gren og bundet er en algoritme til diskrete og kombinatoriske optimeringsproblemer og matematisk optimering. Således er dette den største forskel mellem backtracking og branch and bound.

Behandle

Endvidere finder backtracking løsningen på det overordnede problem ved at finde en løsning på det første delproblem og dem rekursivt løse andre delproblemer baseret på løsningen af ​​det første problem. Gren og bund løser imidlertid et givet problem ved at opdele det i mindst to nye begrænsede delproblemer. Derfor er dette en anden forskel mellem backtracking og branch and bound.

Effektivitet

Konklusion

Backtracking er en algoritme til at fange nogle eller alle løsninger på givne beregningsproblemer, især for problemer med tilfredshed med tilfredshed. Gren og bund er derimod en algoritme til at finde optimale løsninger på mange optimeringsproblemer, især inden for diskret og kombinatorisk optimering. Det er den største forskel mellem Backtracking og Branch and Bound.

Reference:

1. “DAA Algorithm Design Techniques - Javatpoint.” Www.javatpoint.com, tilgængelig her.2. “Backtracking Introduction - Javatpoint.” Www.javatpoint.com, tilgængelig her. “Backtracking.” Wikipedia, Wikimedia Foundation, 7. december 2018, tilgængelig her. "Gren og bunden." Wikipedia, Wikimedia Foundation, 8. oktober 2018, tilgængelig her. “Hvad er Backtracking? - Definition fra Techopedia. ” Techopedia.com, tilgængelig her.

Billede høflighed:

1. “Algoritmer v.s. Programmeringssprog ”Af Lubaochuan-Eget arbejde (CC BY-SA 4.0) via Commons Wikimedia

Hvad er forskellen mellem backtracking og gren og bunden